Java Arrays类
Java Arrays 类
定义:
- Arrays类位于 java.util 包中,主要包含了操纵数组的各种方法。
Arrays 类的常用方法
- Arrays.asList(T… data)
注意:该方法返回的是 Arrays 内部静态类 ArrayList,而不是我们平常使用的 ArrayList,,该静态类 ArrayList 没有覆盖父类的 add(), remove() 等方法,所以如果直接调用,会报 UnsupportedOperationException 异常
Integer[] data = {1, 2, 3,4,5};
List<Integer> list = Arrays.asList(data);
for (Integer integer : list) {
System.out.print(integer+"\t");
}
//1 2 3 4 5
- Arrays.fill(Object[] array, Object obj)
Integer[] data = {1, 2, 3, 4, 5};
Arrays.fill(data, 9);
System.out.println(Arrays.toString(data));
//[9, 9, 9, 9, 9]
-
Arrays.sort(Object[] array)
String[] data = {"1", "4", "3", "2"}; System.out.println(Arrays.toString(data)); // [1, 4, 3, 2] Arrays.sort(data); System.out.println(Arrays.toString(data)); // [1, 2, 3, 4] -
Arrays.sort(T[] array, Comparator<? super T> comparator)
-
使用自定义比较器,对数组元素进行排序 (串行排序)
String[] data = {"1", "4", "3", "2"}; System.out.println(Arrays.toString(data)); // [1, 4, 3, 2] // 实现降序排序,返回-1放左边,1放右边,0保持不变 Arrays.sort(data, (str1, str2) -> { if (str1.compareTo(str2) > 0) { return -1; } else { return 1; } }); System.out.println(Arrays.toString(data)); // [4, 3, 2, 1]
-
-
Arrays.binarySearch(Object[] array, Object key)
注意:在调用该方法之前,必须先调用 Arrays.sort() 方法进行排序,如果数组没有排序,那么结果是不确定的,此外如果数组中包含多个指定元素,则无法保证将找到哪个元素
-
举例:
搜索元素是数组元素,返回该元素索引值
Integer[] data = {1, 3, 5, 7}; Arrays.sort(data); System.out.println(Arrays.binarySearch(data, 1)); // 0搜索元素不是数组元素,且小于数组中的最小值
Integer[] data = {1, 3, 5, 7};
Arrays.sort(data);
// 此时程序会把数组看作 {0, 1, 3, 5, 7},此时0的索引值为0,则搜索0时返回 -(0 + 1) = -1
System.out.println(Arrays.binarySearch(data, 0)); // -1
-
Arrays.equals(Object[] array1, Object[] array2)
-
判断两个数组是否相等
- 数组元素为基本数据类型时,依次比较值
- 数组元素为引用数据类型时,依次调用元素的 equals() 方法进行比较
-
即如果两个数组被认为是相等的,则两个数组中应包含相同顺序的相同元素
Integer[] data1 = {1, 2, 3}; Integer[] data2 = {1, 2, 3}; System.out.println(Arrays.equals(data1, data2)); // true
-
-
Arrays.toString(Object[] array)
-
返回数组元素的字符串形式
Integer[] data = {1, 2, 3}; System.out.println(Arrays.toString(data)); // [1, 2, 3]
-

浙公网安备 33010602011771号