Java 中的 Arrays 类提供了一系列静态方法,可以用来操作数组。
Arrays.sort() 方法用于对数组进行排序。该方法有多个重载版本,可以对不同类型的数组进行排序。
public static void sort(int[] arr)
public static void sort(int[] arr, int fromIndex, int toIndex)
public static void sort(Object[] arr)
public static void sort(Object[] arr, int fromIndex, int toIndex)
参数说明:
例如:
int[] arr = {5, 2, 1, 6, 3, 4};
Arrays.sort(arr); // 默认升序排序
System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4, 5, 6]
=============================================================================
int[] arr = {5, 2, 1, 6, 3, 4};
Arrays.sort(arr, 1, 5);
System.out.println(Arrays.toString(arr)); // [5, 1, 2, 3, 6, 4]
Arrays.binarySearch() 方法用于在已排序的数组中查找指定元素。该方法有多个重载版本,可以对不同类型的数组进行查找。
public static int binarySearch(int[] arr, int key)
public static int binarySearch(int[] arr, int fromIndex, int toIndex, int key)
public static int binarySearch(Object[] arr, Object key)
public static int binarySearch(Object[] arr, int fromIndex, int toIndex, Object key)
参数说明:
返回值:
例如:
int[] arr = {1, 2, 3, 4, 5, 6};
int index = Arrays.binarySearch(arr, 3);
System.out.println(index); // 2
==========================================================================
String[] arr = {"apple", "banana", "cherry", "date", "elderberry"};
int index = Arrays.binarySearch(arr, 1, 4, "cherry");
System.out.println(index); // 2
Arrays.fill() 方法用于将数组的所有元素赋为指定的值。
public static void fill(int[] arr, int value)
public static void fill(int[] arr, int fromIndex, int toIndex, int value)
public static void fill(Object[] arr, Object value)
public static void fill(Object[] arr, int fromIndex, int toIndex, Object value)
参数说明:
例如:
int[] arr = new int[5];
Arrays.fill(arr, 1);
System.out.println(Arrays.toString(arr)); // [1, 1, 1, 1, 1]
===========================================================================
char[] arr = new char[5];
Arrays.fill(arr, 1, 4, 'A');
System.out.println(Arrays.toString(arr)); // [0, A, A, A, 0]
Arrays.copyOf() 方法用于复制数组的一部分。如果复制的长度比原数组长,则用默认值填充新的位置。
public static int[] copyOf(int[] original, int newLength)
public static <T> T[] copyOf(T[] original, int newLength)
参数说明:
返回值:新的数组,内容为原数组的一部分。
例如:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, 3);
System.out.println(Arrays.toString(arr2)); // [1, 2, 3]
==========================================================================
String[] arr1 = {"apple", "banana", "cherry"};
String[] arr2 = Arrays.copyOf(arr1, 5);
System.out.println(Arrays.toString(arr2)); // [apple, banana, cherry, null, null]
Arrays.equals() 方法用于比较两个数组是否相等。
public static boolean equals(int[] a, int[] b)
public static boolean equals(Object[] a, Object[] b)
参数说明:
返回值:如果两个数组长度相等且对应位置的元素都相等,则返回 true,否则返回 false。
例如:
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
System.out.println(Arrays.equals(arr1, arr2)); // true
Arrays.toString() 方法用于将数组转换成字符串形式。
public static String toString(int[] arr)
public static String toString(Object[] arr)
参数说明:
返回值:转换后的字符串,格式为 [element1, element2, …, elementN]。
例如:
int[] arr = {1, 2, 3};
System.out.println(Arrays.toString(arr)); // [1, 2, 3]
Arrays 类提供了很多便捷的方法,可以方便地操作数组,并且这些方法都是静态的,可以直接通过类名调用。