目录
1. 数组转字符串(打印数组)
int[] arr = {1, 2, 3};
System.out.println(Arrays.toString(arr)); // 输出: [1, 2, 3]
2. 排序数组
int[] nums = {3, 1, 4, 2};
Arrays.sort(nums); // 默认升序
System.out.println(Arrays.toString(nums)); // 输出: [1, 2, 3, 4]
3. 二分查找(必须先排序!)
int[] sortedArr = {1, 2, 3, 4, 5};
int index = Arrays.binarySearch(sortedArr, 3); // 返回索引 2
System.out.println(index);// 返回索引 2
4. 填充数组
int[] arr = new int[3];
Arrays.fill(arr, 5); // 所有元素赋值为 5
System.out.println(Arrays.toString(arr)); // 输出: [5, 5, 5]
5. 复制数组
int[] original = {1, 2, 3};
int[] copy = Arrays.copyOf(original, 5); // 新长度=5,多出部分补默认值
System.out.println(Arrays.toString(copy)); // 输出: [1, 2, 3, 0, 0]
int[] rangeCopy = Arrays.copyOfRange(original, 1, 3); // 复制索引[1,3)
System.out.println(Arrays.toString(rangeCopy)); // 输出: [2, 3]
6. 比较两个数组是否相等
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
boolean isEqual = Arrays.equals(arr1, arr2); // true
System.out.println(isEqual);
7. 多维数组转字符串
int[][] matrix = {{1, 2}, {3, 4}};
System.out.println(Arrays.deepToString(matrix)); // 输出: [[1, 2], [3, 4]]
8. 流式处理(Java 8+)
int[] arr = {1, 2, 3};
Arrays.stream(arr).forEach(System.out::println); // 输出: 1 2 3
9. 转换为 List(注意:返回的是固定大小的列表)
Integer[] arr = {1, 2, 3}; // 必须用对象类型
List<Integer> list = Arrays.asList(arr);
System.out.println(list); // 输出: [1, 2, 3]
10. 并行排序(大数据量优化)
int[] largeArr = new int[1000000];
Arrays.parallelSort(largeArr); // 并行排序(多线程加速)
11. 计算哈希值
int[] arr = {1, 2, 3};
int hash = Arrays.hashCode(arr); // 返回数组的哈希值
System.out.println(hash);
12. 填充默认值(Java 8+)
int[] arr = new int[5];
Arrays.setAll(arr, i -> i * 2); // 用 lambda 初始化
System.out.println(Arrays.toString(arr)); // 输出: [0, 2, 4, 6, 8]
总结表格
方法 | 功能 | 示例 |
---|---|---|
Arrays.toString() | 打印数组 | Arrays.toString(arr) |
Arrays.sort() | 排序数组 | Arrays.sort(arr) |
Arrays.binarySearch() | 二分查找 | Arrays.binarySearch(arr, key) |
Arrays.fill() | 填充数组 | Arrays.fill(arr, 0) |
Arrays.copyOf() | 复制数组 | Arrays.copyOf(arr, newLength) |
Arrays.equals() | 比较数组 | Arrays.equals(arr1, arr2) |
Arrays.deepToString() | 打印多维数组 | Arrays.deepToString(matrix) |
Arrays.asList() | 转 List | Arrays.asList(arr) |