java8 java.util.Arrays工具类分析
阅读了Arrays的源码发现许多网上的分析有错误,所以自己记录一下。
sort,parallelSort方法
Arrays中的sort方法主要有两个一个是sort,一个是parallelSort。
sort是对java基本数据类型可以直接比较的,对于其他的类需要自己重写Comparable函数。
parallelSort是并行的sort在数据量不大的情况下速度没有太大区别。
parallelPrefix方法
使用parallelPrefix的两种方式
Arrays.parallelPrefix(int[] array, IntBinaryOperator op);
Arrays.parallelPrefix(int[] array, int fromIndex, int toIndex, IntBinaryOperator op);
这个方法看起来不容易懂,举个例子
public static void main(String[] args) {
int[] ints = {2, 1, 3};
Arrays.parallelPrefix(ints,(x,y)->(x+y));
System.out.println(Arrays.toString(ints));
}
//结果为[2, 3, 6]
结果为[2,2+1,2+1+3],(x,y)->(x+y)代表二元(x,y)操作,为IntBinaryOperator类。