Java 数组应用技巧

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

以上技巧覆盖了数组初始化、遍历、排序、转换等常见场景,合理运用可提升代码效率和可读性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值