您可以简单地使用新的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
方法是一种约简操作,它允许并行化。