【Java-Day18】API篇-Arrays

目录

一.Arrays

[二.Arrays 常用方法](#二.Arrays 常用方法)

三、toString:打印数组

四、sort:数组排序

五、binarySearch:二分查找

六、copyOf:拷贝数组

七、copyOfRange:拷贝指定范围

八、fill:填充数组

九、equals:比较数组内容

十、常见注意事项


一.Arrays

Arrays 是 Java 提供的数组工具类,所在包:import java.util.Arrays;

Arrays专门帮助我们操作数组, 比如打印数组、排序、查找、复制、比较、填充。

Arrays是工具类, 里面的方法大多是static, 所以不用创建对象,直接用类名调用:

java 复制代码
Arrays.toString(arr);
Arrays.sort(arr);

二.Arrays 常用方法

方法 作用
Arrays**.toString**(数组) 把数组转成字符串形式,方便打印
Arrays.sort(数组) 对数组排序
Arrays.binarySearch(数组, 元素) 二分查找元素
Arrays.copyOf(数组, 新长度) 拷贝数组
Arrays.copyOfRange(数组, 起始索引, 结束索引) 拷贝指定范围
Arrays.fill(数组, 值) 用指定值填充数组
Arrays.equals(数组1, 数组2) 比较两个数组内容是否相同

三、toString:打印数组

java 复制代码
int[] arr = {10, 20, 30};

// 把数组内容转换成字符串形式
System.out.println(Arrays.toString(arr));//[10, 20, 30]

四、sort:数组排序

注意:Arrays.sort(arr) 会直接修改原数组。

java 复制代码
int[] arr = {5, 2, 9, 1, 3};

// 默认从小到大排序
Arrays.sort(arr);

System.out.println(Arrays.toString(arr));//[1, 2, 3, 5, 9]

五、binarySearch:二分查找

注意:使用 binarySearch 前,数组必须是有序的。

java 复制代码
int[] arr = {10, 20, 30, 40, 50};
int index = Arrays.binarySearch(arr, 30);
System.out.println(index);//2

六、copyOf:拷贝数组

如果新长度比原数组长,后面补默认值。int 的默认值是 0。

java 复制代码
int[] arr = {10, 20, 30};
// 拷贝数组,新数组长度是 5
int[] newArr = Arrays.copyOf(arr, 5);

System.out.println(Arrays.toString(newArr));//[10, 20, 30, 0, 0]

七、copyOfRange:拷贝指定范围

索引取值包左不包右。

java 复制代码
int[] arr = {10, 20, 30, 40, 50};

// 从索引 1 开始,到索引 4 结束,但不包含 4
int[] newArr = Arrays.copyOfRange(arr, 1, 4);

System.out.println(Arrays.toString(newArr));//[20, 30, 40]

八、fill:填充数组

java 复制代码
int[] arr = new int[5];

// 把数组所有位置都填成 100
Arrays.fill(arr, 100);

System.out.println(Arrays.toString(arr));//[100, 100, 100, 100, 100]

九、equals:比较数组内容

数组不能直接用 == 比较内容。== 比较的是地址。

java 复制代码
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};

System.out.println(Arrays.equals(arr1, arr2));//true

十、常见注意事项

1. Arrays 是工具类,不需要 new 对象。
2. 使用前需要导包:import java.util.Arrays;
3. sort 会修改原数组。
4. binarySearch 使用前,数组必须先排序。
5. copyOfRange 是包左不包右。
6. 数组比较内容用 Arrays.equals(),不要用 ==。
7. 打印数组内容用 Arrays.toString(),不要直接打印数组名。

相关推荐
Sarvartha6 小时前
final 关键字
java·开发语言
2601_952047797 小时前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人
java·机器人·钉钉
yi0117 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
数据狐(Datafox)7 小时前
淘宝图片搜索 API 落地实战:基于以图搜货搭建跨境电商选品系统
java·大数据·微服务
Escalating_xu9 小时前
【C 语言】数据在内存中的存储:补码、大小端、整型陷阱与 IEEE 754 全解析
java·c语言·网络
灯澜忆梦9 小时前
【面向对象编程C++】| 基础语法
java·c++·算法
小蒋观天下9 小时前
专项方案:大场景港口AI安防、多干扰环境下的算法调优与落地实操
人工智能·深度学习·算法·安全·机器学习·计算机视觉·ai大模型
一个风轻云淡10 小时前
GCC 和 GDB命令简单解读
java·linux·前端