使用 Java 查找基元数组中的最大值/最小值
写一个函数来确定数组中的最小值/最大值很简单,例如:
It's trivial to write a function to determine the min/max value in an array, such as:
/**
*
* @param chars
* @return the max value in the array of chars
*/
private static int maxValue(char[] chars) {
int max = chars[0];
for (int ktr = 0; ktr < chars.length; ktr++) {
if (chars[ktr] > max) {
max = chars[ktr];
}
}
return max;
}
但这不是已经在某个地方完成了吗?
but isn't this already done somewhere?
推荐答案
使用 Commons Lang(转换)+ Collections(转换为最小值/最大值)
Using Commons Lang (to convert) + Collections (to min/max)
import java.util.Arrays;
import java.util.Collections;
import org.apache.commons.lang.ArrayUtils;
public class MinMaxValue {
public static void main(String[] args) {
char[] a = {'3', '5', '1', '4', '2'};
List b = Arrays.asList(ArrayUtils.toObject(a));
System.out.println(Collections.min(b));
System.out.println(Collections.max(b));
}
}
请注意,Arrays.asList()
包装了底层数组,因此它不应占用太多内存,也不应对数组元素执行复制.
Note that Arrays.asList()
wraps the underlying array, so it should not be too memory intensive and it should not perform a copy on the elements of the array.
相关文章