秦疆的Java课程笔记:57 数组 Arrays类讲解

发布时间 2023-12-05 15:46:52作者: Acolyte_9527
  • 数组的工具类java.util.Arrays
  • 由于数组对象本身并没有什么方法可以供我们使用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作。
  • 查看JDK帮助文档-Class Arrays
  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而不用使用对象来调用(注意,是“不用”,而非“不能”)
  • 几个重点功能:
    • fill方法:给数组赋值。
    • sort方法:对数组元素升序排序。
    • equals方法:比较数组中的元素是否相等。
    • binarySearch方法:对排序好的数组进行二分查找法,查找数组元素。
public class ArrayDemo1 {  
    public static void main(String[] args) {  
        int[] a = {1,2,3,4,3456,787,123,12};  
        System.out.println(a);  
        System.out.println("toString演示:" + Arrays.toString(a));  
        System.out.print("山寨toString演示:");  
        printArray(a);  
        Arrays.sort(a);  
        System.out.println("sort演示:" + Arrays.toString(a));  
        Arrays.fill(a,2,5,0);   //将第3-6号元素赋值为0(左闭右开,所以其实是3-5号元素)
        System.out.println("fill演示:" + Arrays.toString(a));  
    }  
    //我们完全可以自己写一个和工具类效果一样的方法  
    public static void printArray(int[] a) {  
        for (int i = 0; i < a.length; i++) {  
            if (i == 0) {  
                System.out.print("[");  
            }  
            if (i == a.length-1) {  
                System.out.print(a[i]+"]"+"\n");  
            } else {  
                System.out.print(a[i] + ", ");  
            }  
        }  
    }  
}
====效果如下====
[I@b4c966a   //前面说过,直接打印数组,打印的是哈希值
toString演示:[1, 2, 3, 4, 3456, 787, 123, 12]
山寨toString演示:[1, 2, 3, 4, 3456, 787, 123, 12]
sort演示:[1, 2, 3, 4, 12, 123, 787, 3456]
fill演示:[1, 2, 0, 0, 0, 123, 787, 3456]