Arrays类提供排序(sort)、查找(binarySearch)、比较(equals)、填充(fill)、转字符串(toString)和复制(copyOf)等静态方法,用于简化数组操作。

Java中的
Arrays类提供了许多静态方法,用于操作数组,比如排序、查找、比较、填充和转换等。这个类位于
java.util包中,使用前需要导入:import java.util.Arrays;。下面介绍几个常用方法及其用法。
1. 数组排序:sort()
Arrays.sort()方法可以对数组进行升序排序,支持基本数据类型和对象数组。 说明:
- 对基本类型数组(如 int[]、double[])直接排序。
- 对对象数组(如 String[])按自然顺序排序,也可传入 Comparator 自定义排序规则。
示例:
模板采用响应式设计,自动适应手机,电脑及平板显示;满足单一店铺外卖需求。功能:1.菜单分类管理2.菜品管理:菜品增加,删除,修改3.订单管理4.友情链接管理5.数据库备份6.文章模块:如:促销活动,帮助中心7.单页模块:如:企业信息,关于我们更强大的功能在开发中……安装方法:上传到网站根目录,运行http://www.***.com/install 自动
int[] numbers = {5, 2, 8, 1};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 5, 8]
String[] names = {"Alice", "Bob", "Charlie"};
Arrays.sort(names);
System.out.println(Arrays.toString(names)); // 输出: [Alice, Bob, Charlie]
2. 数组查找:binarySearch()
使用二分查找在已排序的数组中查找指定元素,返回其索引;若未找到,返回负值。
立即学习“Java免费学习笔记(深入)”;
注意:- 必须先排序再使用 binarySearch,否则结果不可靠。
- 返回值是插入点的负数表示(-insertionPoint - 1)。
示例:
int[] arr = {1, 3, 5, 7, 9};
int index = Arrays.binarySearch(arr, 5);
System.out.println(index); // 输出: 23. 数组比较:equals()
Arrays.equals()用于判断两个数组是否相等——长度相同且每个对应元素都相等。
- 适用于一维数组。多维数组建议使用
deepEquals()
。
示例:
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
boolean isEqual = Arrays.equals(a, b);
System.out.println(isEqual); // 输出: true4. 填充数组:fill()
Arrays.fill()可以将数组的所有元素或部分元素设置为指定值。
- 常用于初始化数组。
示例:
int[] arr = new int[5]; Arrays.fill(arr, 7); System.out.println(Arrays.toString(arr)); // 输出: [7, 7, 7, 7, 7]
5. 数组转字符串:toString()
直接打印数组会输出哈希值,使用
Arrays.toString()可以清晰查看内容。
- 多维数组可用
Arrays.deepToString()
。
示例:
int[] arr = {10, 20, 30};
System.out.println(Arrays.toString(arr)); // 输出: [10, 20, 30]6. 复制数组:copyOf() 和 copyOfRange()
创建数组副本,避免直接引用带来的副作用。
copyOf()
复制前 N 个元素(不足补默认值)。copyOfRange()
复制指定范围(左闭右开)。
示例:
int[] original = {1, 2, 3, 4, 5};
int[] copy = Arrays.copyOf(original, 3);
System.out.println(Arrays.toString(copy)); // 输出: [1, 2, 3]
int[] range = Arrays.copyOfRange(original, 1, 4);
System.out.println(Arrays.toString(range)); // 输出: [2, 3, 4]
基本上就这些常见用法。Arrays 类让数组操作变得更简单高效,合理使用能减少手动编码错误。









