Arrays工具类常用的用法

目录

1. 数组转字符串(打印数组)

3. 二分查找(必须先排序!)

4. 填充数组

5. 复制数组

6. 比较两个数组是否相等

7. 多维数组转字符串

8. 流式处理(Java 8+)

9. 转换为 List(注意:返回的是固定大小的列表)

10. 并行排序(大数据量优化)

11. 计算哈希值

12. 填充默认值(Java 8+)

总结表格


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()转 ListArrays.asList(arr)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小懒懒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值