您可以简单地使用新的Java 8 Stream,但您必须使用.int
实用工具类 Arrays 的流方法为您提供了一个 IntStream,您可以在其上使用 min 方法。您还可以执行最大值,总和,平均值,...
getAsInt 方法用于从 OptionalInt 中获取值
import java.util.Arrays;
public class Test {
public static void main(String[] args){
int[] tab = {12, 1, 21, 8};
int min = Arrays.stream(tab).min().getAsInt();
int max = Arrays.stream(tab).max().getAsInt();
System.out.println("Min = " + min);
System.out.println("Max = " + max)
}
}
==更新==
如果执行时间很重要,并且您只想遍历数据一次,则可以使用 summaryStatistics() 方法,如下所示
import java.util.Arrays;
import java.util.IntSummaryStatistics;
public class SOTest {
public static void main(String[] args){
int[] tab = {12, 1, 21, 8};
IntSummaryStatistics stat = Arrays.stream(tab).summaryStatistics();
int min = stat.getMin();
int max = stat.getMax();
System.out.println("Min = " + min);
System.out.println("Max = " + max);
}
}
这种方法可以提供比经典循环更好的性能,因为 summaryStatistics 方法是一种约简操作,它允许并行化。