Arrays类的实用功能 --《JAVA编程思想》 65

今天和大家一起分享和 Arrays 类的相关实用功能。

1.打印数组

Arrays.toString() 可以将数组作为 String 类型表示。

public class ArrayToString {
    
    

    public static void main(String[] args) {
    
    
        String[] strings = {
    
    "a", "b", "c"};
        System.out.println(Arrays.toString(strings));
        int[] ints = {
    
    1, 2, 3};
        System.out.println(Arrays.toString(ints));
    }

}
[a, b, c]
[1, 2, 3]

2.填充数组

数组创建时,基本类型都会被赋予默认值,非基本类型会被赋予 null 。可以通过 Arrays.fill() 填充整个数组。但遗憾的是,fill() 只允许使用相同的值填充整个数组。

public class FillArray {
    
    

    public static void main(String[] args) {
    
    
        int[] ints = new int[5];
        Arrays.fill(ints, 2);
        System.out.println(Arrays.toString(ints));
        boolean[] booleans = new boolean[6];
        Arrays.fill(booleans, true);
        System.out.println(Arrays.toString(booleans));
        String[] strings = new String[7];
        Arrays.fill(strings,"A");
        System.out.println(Arrays.toString(strings));
    }

}
[2, 2, 2, 2, 2]
[true, true, true, true, true, true]
[A, A, A, A, A, A, A]

3.复制数组

这里额外介绍个不属于 Arrays 类,但却很实用的方法。System.arraycopy() 可以将一个数组的元素复制进另一个数组,需要5个参数,分别为:源数组、源数组开始的下标、目标数组、目标数组开始的下标、需要从源数组复制的个数。

public class CopyArray {
    
    

    public static void main(String[] args) {
    
    
        int[] a = new int[5];
        Arrays.fill(a, 12);
        System.out.println(Arrays.toString(a));
        int[] b = new int[7];
        Arrays.fill(b, 15);
        System.out.println(Arrays.toString(b));
        System.arraycopy(a, 0, b, 0, a.length);
        System.out.println(Arrays.toString(b));
    }

}
[12, 12, 12, 12, 12]
[15, 15, 15, 15, 15, 15, 15]
[12, 12, 12, 12, 12, 15, 15]

4.数组比较

数组之间可以通过 Arrays.equals() 来比较两者所包含的元素是否相等,通过调用每一个元素的 equals() 方法来判断(基本类型调用包装类型的 equals() 方法),相同位置的元素均相等则返回 true,若任意一个位置的元素不相等则返回 false,两个比较数组的长度必须相等。

public class CompareArray {
    
    

    public static void main(String[] args) {
    
    
        int[] a = {
    
    1, 2, 3};
        int[] b = {
    
    1, 2, 3};
        System.out.println(Arrays.equals(a, b));
        String[] c = {
    
    "a", "b", "c"};
        String[] d = {
    
    "a", "b", "d"};
        System.out.println(Arrays.equals(c, d));
    }

}

true
false

5.数组排序

可以通过 Arrays.sort() 来给数组内的元素进行排序,默认为根据元素大小升序。

public class SortArray {
    
    

    public static void main(String[] args) {
    
    
        int[] ints = {
    
    12, 94, 75, 24, 14, 17, 9, 64, 32, 21, 30, 54, 27};
        Arrays.sort(ints);
        System.out.println(Arrays.toString(ints));
    }

}
[9, 12, 14, 17, 21, 24, 27, 30, 32, 54, 64, 75, 94]

若需要进行倒序排序,则不能使用基本类型,必须使用其包装类,如下所示:

public class SortArray {
    
    

    public static void main(String[] args) {
    
    
        Integer[] ints = {
    
    12, 94, 75, 24, 14, 17, 9, 64, 32, 21, 30, 54, 27};
        Arrays.sort(ints, Collections.reverseOrder());
        System.out.println(Arrays.toString(ints));
    }

}
[94, 75, 64, 54, 32, 30, 27, 24, 21, 17, 14, 12, 9]

本次分享至此结束,希望本文对你有所帮助,若能点亮下方的点赞按钮,在下感激不尽,谢谢您的【精神支持】。

若有任何疑问,也欢迎与我交流,若存在不足之处,也欢迎各位指正!

おすすめ

転載: blog.csdn.net/BaymaxCS/article/details/121057996