我正在尝试使用流来获取int数组的最小值,我正在尝试执行以下操作:
$head = $domx->evaluate("string(./head[1])",$entry);
我的问题是最好的方法是什么?
PS:有一个类似的问题,但这里没有sterams Finding the max/min value in an array of primitives using Java答案 0 :(得分:5)
你过于复杂了。
IntStream.of(args).min().getAsInt()
注意:如果数组为空,这将抛出NoSuchElementException
,这可能是一个理想的结果。
答案 1 :(得分:2)
我认为你使用了太多的流。
它会这样做:
int theMin = Arrays.stream(args).min().getAsInt();
由于方法参数 args 已经是根据方法签名的整数数组:
public static int smallestInt(int[] args) {
答案 2 :(得分:1)
您可以使用,更容易理解和正确:
public static int smallestInt(int[] args) {
return Arrays.stream(args).min().getAsInt();
}
答案 3 :(得分:0)
其他大多数人都提供了很好的解决方案,但他们没有涵盖没有最小价值的情况,这也应该包括这个案例:
public static int smallest(int[] ints){
return Arrays.stream(ints).min().orElse(Integer.MIN_VALUE);
}