【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(),不要直接打印数组名。

相关推荐
octopus_c42 分钟前
数据结构:堆(Heap)详解
c语言·数据结构·算法
SeaDhdhdhdhdh6 小时前
MCP Server 搭建与使用指南
java·ai·agent·mcp
YH55269846 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
AI_小站7 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
许彰午8 小时前
03-三种开发模式
java·架构
涟漪海洋8 小时前
创建最新的JDK25镜像,非root环境启动
java
遥感知识服务8 小时前
从局部阈值、双极化到暗地表剔除:NASA OPERA DSWx-S1全球动态水体算法拆解
大数据·人工智能·深度学习·神经网络·算法·机器学习
晚风醉蝶8 小时前
1-13-TimSort
算法
Rain的Java大神之路8 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
ZJU_统一阿萨姆8 小时前
【算子开发】算子融合与Softmax_LayerNorm实现
人工智能·算法·语言模型·硬件架构