Arrays
是 Java 中的一个工具类,提供了一系列用来操作数组(比如排序和搜索)的静态方法。它是 java.util
包的一部分。以下是 Arrays
类中一些常用方法的详细说明和示例:
一、排序 (Sorting)
sort(int[] a)
: 对指定的 int 数组的所有元素进行升序排序。sort(int[] a, int fromIndex, int toIndex)
: 对指定的 int 数组的指定范围内的元素进行升序排序。- 类似的方法也适用于其他基本类型和对象数组,对象数组需要实现
Comparable
接口或者提供Comparator
。
二、搜索 (Searching)
binarySearch(int[] a, int key)
: 使用二分查找算法在给定的数组中搜索指定的值。注意,数组必须事先排序。binarySearch(int[] a, int fromIndex, int toIndex, int key)
: 在指定范围内使用二分查找算法搜索值。
三、比较 (Comparison)
equals(int[] a, int[] a2)
: 如果两个指定的 int 数组彼此相等,即它们包含相同数量的元素,并且所有对应位置的元素都相等,则返回 true。
四、填充 (Filling)
fill(int[] a, int val)
: 将指定的 int 值分配给指定 int 数组的每个元素。fill(int[] a, int fromIndex, int toIndex, int val)
: 将指定的 int 值分配给指定 int 数组的指定范围。
五、转换为字符串 (Conversion to String)
toString(int[] a)
: 返回指定数组内容的字符串表示形式。
六、复制 (Copying)
copyOf(int[] original, int newLength)
: 复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。copyOfRange(int[] original, int from, int to)
: 复制指定数组的指定范围,以使副本具有指定的长度。
七、转换列表 (Converting to List)
asList(T... a)
: 返回一个固定大小的列表,由指定数组支持。这个方法适用于对象类型的数组,不能直接用于基本类型的数组。
示例代码:
下面是一些使用 Arrays
类方法的简单示例:
import java.util.Arrays;
public class ArraysExample {
public static void main(String[] args) {
// 初始化一个数组
int[] numbers = {3, 2, 5, 4, 1};
// 排序
Arrays.sort(numbers);
System.out.println("Sorted: " + Arrays.toString(numbers));
// 搜索 - 数组必须先排序
int index = Arrays.binarySearch(numbers, 4);
System.out.println("Index of 4: " + index);
// 填充
Arrays.fill(numbers, 10);
System.out.println("Filled with 10: " + Arrays.toString(numbers));
// 复制
int[] copiedNumbers = Arrays.copyOf(numbers, numbers.length);
System.out.println("Copied: " + Arrays.toString(copiedNumbers));
// 检查两个数组是否相等
System.out.println("Equals: " + Arrays.equals(numbers, copiedNumbers));
// 转换为列表
Integer[] integers = {1, 2, 3};
java.util.List<Integer> integerList = Arrays.asList(integers);
System.out.println("List: " + integerList);
}
}