Java中Arrays数组工具类的基本使用详解

  

Java中Arrays数组工具类的基本使用详解

简介

Arrays类是java.util包中提供的一个工具类。它针对数组提供了很多有用的方法。这些方法帮助我们完成了数组复制、排序、查找、修改等操作。通过使用Arrays类,用户能够在不使用检查或转换的情况下操作各种类型的数组。

Arrays类的常用方法

1.排序

使用Arrays类排序的方法,可以根据默认的升序排列规则或传递到compareTo()方法的升序排序规则对指定数组进行排序。

1.1 Arrays.sort(T[] a)

使用sort()方法对指定数组进行升序排序,默认规则为自然排序即升序。

Integer[] arr = { 3, 6, 2, 8, 4, 5 };
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [2,3,4,5,6,8]

1.2 Arrays.sort(T[] a, Comparator< ? super T> c)

指定升序排序规则进行排序。对于数组中的每个元素,都是使用通过Comparator来定义的升序排序规则。

String[] cities = { "New York", "Paris", "Beijing", "Tokyo", "Moscow", "Sydney" };
Arrays.sort(cities, new Comparator< String>() {
    public int compare(String s1, String s2) {
        return s1.compareTo(s2); // 标准字典顺序排序
    }
});
System.out.println(Arrays.toString(cities)); // [Beijing, Moscow, New York, Paris, Sydney, Tokyo]

2.查找

通过使用Arrays类中的二分查找方法和线性搜索算法来查找排序和未排序的数组元素。

2.1 Arrays.binarySearch(T[] a, T key)

搜索指定数组中的关键字,使用二分算法进行搜索,若找到则返回匹配项的索引,否则返回负数。

String[] cities = { "New York", "Paris", "Beijing", "Tokyo", "Moscow", "Sydney" };
Arrays.sort(cities);
int index = Arrays.binarySearch(cities, "Moscow");
System.out.println("The index of \"Moscow\" is: " + index); // 4

2.2 Arrays.parallelSort(T[] a)

使用分支/合并算法对指定数组进行排序。当数组长度达到指定的阈值时,将并行排序替换掉串行排序,可以加速排序。

int[] numbers = { 7, 3, 9, 20, 15, 8 };
Arrays.parallelSort(numbers);
System.out.println(Arrays.toString(numbers)); // [3,7,8,9,15,20]

3.复制

Arrays.copyOf() 方法是在 Java 6 中引入的。这个方法可以用来创建一个新数组,并且将旧数组中的元素全部复制到新数组中。

3.1 Arrays.copyOf(T[] original, int newLength)

此方法用于复制数组,能够将一个旧数组中的一段复制到一个新数组中。

int[] data = {1,2,3,4,5};
int[] newData = Arrays.copyOf(data, 3);
System.out.println(Arrays.toString(newData)); // [1, 2, 3]

结束语

Arrays类提供了很多有用的工具方法,使得数组的处理变得容易快捷。如果需要对数组进行排序、查找和复制等基本操作,使用Arrays类中提供的方法可以更加便捷地达到目标。

以上就是Arrays数组工具类的基本使用详解。

相关文章