Java 数组初始化技巧
直接初始化数组时可以使用简写语法,避免先声明长度再赋值。
int[] numbers = {1, 2, 3, 4, 5};
String[] names = {"Alice", "Bob", "Charlie"};
动态初始化结合循环赋值:
int[] squares = new int[5];
for (int i = 0; i < squares.length; i++) {
squares[i] = i * i;
}
数组遍历的优化方式
传统 for 循环适合需要索引的场景:
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
增强 for 循环简化遍历:
for (String name : names) {
System.out.println(name);
}
使用 Arrays.toString() 快速打印数组内容:
System.out.println(Arrays.toString(numbers));
数组排序与查找
利用 Arrays.sort() 对数组排序:
int[] randomNumbers = {5, 3, 9, 1};
Arrays.sort(randomNumbers); // 输出 [1, 3, 5, 9]
二分查找要求数组已排序:
int index = Arrays.binarySearch(randomNumbers, 3); // 返回索引 1
多维数组操作
二维数组初始化与遍历:
int[][] matrix = {{1, 2}, {3, 4}, {5, 6}};
for (int[] row : matrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
不规则数组(每行长度不同)示例:
int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[]{1};
jaggedArray[1] = new int[]{2, 3};
jaggedArray[2] = new int[]{4, 5, 6};
数组与集合转换
将数组转换为 List(注意返回的 List 不可变):
List<String> nameList = Arrays.asList(names);
使用 stream 转换数组类型:
List<Integer> numberList = Arrays.stream(numbers)
.boxed()
.collect(Collectors.toList());
数组拷贝与填充
System.arraycopy() 实现高效复制:
int[] source = {1, 2, 3};
int[] dest = new int[3];
System.arraycopy(source, 0, dest, 0, source.length);
Arrays.fill() 快速填充值:
int[] filledArray = new int[5];
Arrays.fill(filledArray, -1); // 所有元素变为 -1
实用工具方法
检查数组是否包含某元素(需转换为 List):
boolean containsBob = Arrays.asList(names).contains("Bob");
使用 Arrays.equals() 比较数组内容:
int[] arr1 = {1, 2};
int[] arr2 = {1, 2};
boolean isEqual = Arrays.equals(arr1, arr2); // true
以上技巧覆盖了数组初始化、遍历、排序、转换等常见场景,合理运用可提升代码效率和可读性。

1557

被折叠的 条评论
为什么被折叠?



