Arrays类提供排序(sort)、查找(binarySearch)、比较(equals)、填充(fill)、转字符串(toString)和复制(copyOf)等静态方法,用于简化数组操作。
Java中的
Arrays类提供了许多静态方法,用于操作数组,比如排序、查找、比较、填充和转换等。这个类位于
java.util包中,使用前需要导入:import java.util.Arrays;。下面介绍几个常用方法及其用法。
Arrays.sort()方法可以对数组进行升序排序,支持基本数据类型和对象数组。 说明:
示例:
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]
使用二分查找在已排序的数组中查找指定元素,返回其索引;若未找到,返回负值。
注意:示例:
int[] arr = {1, 3, 5, 7, 9};
int index = Arrays.binarySearch(arr, 5);
System.out.println(index); // 输出: 2Arrays.equals()用于判断两个数组是否相等——长度相同且每个对应元素都相等。
deepEquals()。
示例:
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
boolean isEqual = Arrays.equals(a, b);
System.out.println(isEqual); // 输出: trueArrays.fill()可以将数组的所有元素或部分元素设置
为指定值。
示例:
int[] arr = new int[5]; Arrays.fill(arr, 7); System.out.println(Arrays.toString(arr)); // 输出: [7, 7, 7, 7, 7]
直接打印数组会输出哈希值,使用
Arrays.toString()可以清晰查看内容。
Arrays.deepToString()。
示例:
int[] arr = {10, 20, 30};
System.out.println(Arrays.toString(arr)); // 输出: [10, 20, 30]创建数组副本,避免直接引用带来的副作用。
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 类让数组操作变得更简单高效,合理使用能减少手动编码错误。