数组之Arrays工具类

1. 排序 对数组升序排序

sort(int[] a) : 整个数组升序排序。

sort(int[] a, int from, int to) 对数组进行局部排序。从from到to - 1区间进行排序。

sort(T[] a, Comparator) 自定义排序规则。对二维数组排序,要用此方法。

parallelSort(int[] a) : 并行排序。 当数组长度小于等于 1 << 13 (8192) 或者CPU 处理器只有一个的话,还是按二分快速排序,和sort方法一样。 否则走并行ForkJoin方式。

 

2. 二分查找  binarySearch(int[] a, int key): int, 在数组中进行二分查找 key, 找到返回key在数组的索引,找不到返回一个负数;

binarySearch(int[] a, int from, int to,  int key): int 在数组中的范围from到 to - 1进行二分查找 key, 找到返回key在数组的索引,找不到返回一个负数;

 

3. copyOf(int[] a, int newLength): T[] , 复制数组,产生一个长度为newLength的新数组。

copyOfRange(int[] a, int from, int to), 复制数组,从from 开始复制, 复制长度为 to - from和数组长度 - from的小者。

 

4. asList(T...) : List<T>,  快速转换成ArrayList, 这里的ArrayList是Arrays的内部类,不是通常的ArrayList的集合类。这里的返回值不能进行集合的增删。

 

5. toString(int[] a),数组转成字符串。

deepToString(Object[]), 对二维数组或者对象数组,拼接字符串。

 

6. fill(int[] a, int val), 对数组填充,每个元素赋值为val.

fill(int[] a, int from, int to, int val), 对 数组范围 from 到 to -1 的元素设置值为val.

 

7. setAll(int[] a, IntFunction<? extends T> generator),设置数组元素值为根据lambda表达式获取。

  parallelSetAll(int[] a, IntFunction<? extends T> generator), 并行进行数组值设置。

 

8. spliterator(T[]):  数组变成分割器, 每次都分割成 length / 2 的元素。 

 

9. equals(int[] a, int[] b) : boolean, 判断两个数组是否相等。

deepEquals(Object[] a, Object[] b): 对二维数组或对象数组进行比较是否相等。

 

10. stream(T[]) 获取数组stream流

posted @ 2020-12-21 15:44  闪闪的星光  阅读(131)  评论(0)    收藏  举报