java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
记录下对应的使用记录,便于后续参考;
public class TestArray {
// 测试Arrays工具类 api
public static void main(String[] args) {
// 填充数据; (含头不含尾)
Long[] arr = new Long[30];
Arrays.fill(arr, 0, 15, 30L);
Arrays.fill(arr, 15, arr.length, 40L);
System.out.println(Arrays.toString(arr));
// 数组排序: 默认升序 | 并行排序
int[] intArr = new int[]{2, 1, 4, 3};
Arrays.sort(intArr);
System.out.println(Arrays.toString(intArr));
intArr = new int[]{2, 1, 4, 3};
Arrays.parallelSort(intArr);
System.out.println(Arrays.toString(intArr));
// 数组排序:降序
intArr = new int[]{2, 1, 4, 3};
Integer[] newIntArr = Arrays.stream(intArr).boxed().toArray(Integer[]::new);
Arrays.sort(newIntArr, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if (o1 < o2) { // o1 < o2 交换,大的在前 小的在后
return 1;
}
if (o1 > o2) {
return -1;
}
return 0;
}
});
System.out.println(Arrays.toString(newIntArr));
// 数据查找二分法(升序排序后才能用)
intArr = new int[]{2, 1, 4, 3};
Arrays.sort(intArr);
System.out.println(Arrays.toString(intArr));
System.out.println(Arrays.binarySearch(intArr, 1));
System.out.println(Arrays.binarySearch(intArr, 2));
System.out.println(Arrays.binarySearch(intArr, 3));
System.out.println(Arrays.binarySearch(intArr, 4));
System.out.println(Arrays.binarySearch(intArr, 5));
}
}