java基础:Arrays类

Arrays类

数据的工具类java.util.Arrays

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

查看JDK基本文档

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

具有以下常用功能:

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

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

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

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

public static void main(String[] args) {
    //找Arrays类
    //Arrays
    int[]a={1,35,6,4565,45,7565,4};
    System.out.println(a);  //[I@1b6d3586
    //1.打印数组元素,用Arrays下面的toString方法
    System.out.println(Arrays.toString(a));//输出结果 [1, 35, 6, 4565, 45, 7565, 4]
    printArray(a);     //输出结果为:[1, 35, 6, 4565, 45, 7565, 4]
    System.out.println("");

    //2.数组进行排序,用Arrays下面的sort方法,升序
    Arrays.sort(a);
    System.out.println(Arrays.toString(a));//输出结果为:[1, 4, 6, 35, 45, 4565, 7565]

    //3.数组填充,用Arrays下面的fill方法,fill(数组,填充的值)
    Arrays.fill(a,0);
    System.out.println(Arrays.toString(a));//输出结果为 [0, 0, 0, 0, 0, 0, 0]

    //4.填充对应序列得知
    Arrays.fill(a,2,4,11);
    System.out.println(Arrays.toString(a));//输出结果为:[0, 0, 11, 11, 0, 0, 0],第二到第四个元素间被11填充
}
   //自己编写的方法和toString效果一样
public static void printArray(int[] a){
    System.out.print("[");
    int t=0;
    for (int i = 0; i < a.length-1 ; i++) {

        System.out.print(a[i]+", ");
        t=i+1;
    }
    System.out.print(a[t]);
    System.out.print("]");
}

Java中Arrays类的常用方法

Arrays.sort(); //数组排序

Arrays类有一个静态方法sort,利用这个方法可传入要排序的数组进去排序,因为传入的是一个数组的引用,所以排序完成的结果也通过这个引用来更改数组。

1.数字排序

int[] intArray = new int[] { 4, 1, 3, -23 };
    Arrays.sort(intArray);
    //输出: [-23, 1, 3, 4]

2.字符串排序,先大写后小写 

String[] strArray = new String[] { “z”, “a”, “C” };
    Arrays.sort(strArray);
    //输出: [C, a, z]

3.严格按字母表顺序排序,也就是忽略大小写排序 Case-insensitive sort

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
    //输出: [a, C, z]

Arrays.toString(); //将数组中的内容全部打印出来 

 int[] arr = {3,2,1,5,4};
    System.out.print(arr);//直接将数组打印输出
    //输出:[I@7852e922 (数组的地址)

	String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
	//System.out.print(str);
	//输出:[3, 2, 1, 5, 4]

Arrays.equals(); //比较数组元素是否相等 

int[] arr1 = {1,2,3};
	int[] arr2 = {1,2,3};
	System.out.println(Arrays.equals(arr1,arr2));
	//输出:true
	//如果是arr1.equals(arr2),则返回false,因为equals比较的是两个对象的地址,不是里面的数,而Arrays.equals重写了equals,所以,这里能比较元素是否相等。

Guess you like

Origin blog.csdn.net/s1623009261/article/details/120048817