利用 java8 中的 stream 以及 reduce 功能,可以直接用一行代码求得一维数组最大值或最小值的下标。
举例:
public class HelloWorld {
public static void main(String[] args) {
int[] a = {8, 6, 3, 10};
int index = IntStream.range(0, a.length).reduce((i, j) -> a[i] > a[j] ? j : i).getAsInt();
System.out.println("min index = " + index);
}
}
输出:
min index = 2