Arrays类——操作数组更方便

数组的工具类java.util.Arrays

  由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。

文档简介:

  此类包含用来操作数组(比如排序和搜索)的各种算法。此类还包含一个允许将数组作为列表来查看的静态工厂。除非特别注明,否则如果指定数组引用为null,则此类中的方法都会抛出NullPointerException(空指针异常)。

Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用" 而不是 "不能")

java.util.Arrays 类能方便地操作数组. 使用之前需要导包!

具有以下常用功能:

  给数组赋值:通过 fill 方法。

  对数组排序:通过 sort 方法,按升序。

  比较数组:通过 equals 方法比较数组中元素值是否相等。

  查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

1、打印数组

1 public static void main(String[] args) {
2     int[] a = {1,2};
3     System.out.println(a); //[I@1b6d3586
4     System.out.println(Arrays.toString(a)); //[1, 2]
5 }

这个方法不是特别好,并不是很常用(个人觉得)

2、数组排序

对指定的 int 型数组按数字升序进行排序

1 public static void main(String[] args) {
2     int[] a = {1,2,323,23,543,12,59};
3     System.out.println(Arrays.toString(a));
4     Arrays.sort(a);
5     System.out.println(Arrays.toString(a));
6 }

3、二分法查找

在数组中查找指定元素并返回其下标

注意:使用二分搜索法来搜索指定的数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通 过sort方法等)。如果没有对数组进行排序,则结果是不确定的。

如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。

1 public static void main(String[] args) {
2     int[] a = {1,2,323,23,543,12,59};
3     Arrays.sort(a); //使用二分法查找,必须先对数组进行排序
4     System.out.println("该元素的索引:"+Arrays.binarySearch(a, 12));
5 }

4、元素填充

public static void main(String[] args) {
    int[] a = {1,2,323,23,543,12,59};
    Arrays.sort(a); //使用二分法查找,必须先对数组进行排序
    Arrays.fill(a, 2, 4, 100); //将2到4索引的元素替换为100
    System.out.println(Arrays.toString(a));
}

不包括4,就只有索引2,3变了,大家可以自己动手验证

5、数组转换为List集合

1 int[] a = {3,5,1,9,7};
2 List<int[]> list = Arrays.asList(a);
原文地址:https://www.cnblogs.com/koss/p/14453284.html