Arrays工具类的常用方法

Arrays工具类

Arrays工具类:用来操作数组(比如排序和搜索)的各种方法

Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用。

返回值方法描述
intbinarySearch(Object[] a, Object key)二分法查找给定值的索引,数组在调用之前必须是排序好的
booleanequals(int[] a,int[]a1)两个指定int型数组彼此相等,则返回true,也就是两个数组以相同顺序包含相同的元素,方法适用于(byte,short.,long等)。
voidfill(int[] a,int val)将指定的int值分配给数组中的所有元素,方法也同样适用于(byte,short.,long等)。
voidsort(int[] a)对数组中的元素进行升序排列,方法也同样适用于(byte,short.,long等)。
intcopyof(int[] a,int newLength)复制指定数组的长度,方法也同样适用于(byte,short.,long等)。
stringtoString(int[] a)返回指定数组的字符串表示形式,方法也同样适用于(byte,short.,long等)。
ListasList(int[] a,int[] b)返回由指定数组支持的固定大小的列表,方法也同样适用于(byte,short.,long等)

1.toString()方法打印数组:

   public static void main(String[] args) {
        // 定义一个数组
        int[] b = new int[]{1, 2, 3, 4, 5, 6};
        // 调用Arrays工具类的toString()方法
        System.out.println(Arrays.toString(b));// [1,2,3,4,5,6]
    }

2.sort()方法升序排列:

 public static void main(String[] args) {
        // 定义一个数组
        int[] b = new int[]{3, 2, 4, 5, 1, 6};
        // 调用Arrays工具类的sort()方法
        Arrays.sort(b);
        System.out.println(Arrays.toString(b));// [1,2,3,4,5,6]
    }

3.binarySearch(int[] a, int key)查找索引:

public static void main(String[] args) {
        // 定义一个有序数组
        int[] b = new int[]{1, 2, 3, 4, 5, 6};
        // 调用二分查找方法
        int index = Arrays.binarySearch(b, 4);
        // 打印索引
        System.out.println(index);// 3
    }

4.equals(int[] a,int[] b)比较数组:

 public static void main(String[] args) {
        // 定义两个数组
        int[] b = new int[]{1, 2, 3, 4, 5, 6};
        int[] a={1,2,3,4,5,6};
        // 判断两数组是否相等
        System.out.println(Arrays.equals(a,b));// true
       
    }

5.fill(int[] a,int val)分配数组元素:

    public static void main(String[] args) {
        // 定义1个数组
        int[] a={1,2,3,4,5,6};
        // 全部填充为22
        Arrays.fill(a,22);
        // 打印数组
        System.out.println(Arrays.toString(a));//[22,22,22,22,22,22]
    }

6.copyof(int[] a,int newLength)复制数组:

public static void main(String[] args) {
        // 定义1个数组
        int[] a={1,2,3,4,5,6};
        //复制一个新数组长度为4
        int[] ints = Arrays.copyOf(a, 4);
        System.out.println(Arrays.toString(ints));//[1,2,3,4]

        // 再定义一个新数组(这是我们利用另一种方法复制数组)
        int[] newArray = new int[a.length];
        // 第一个参数是指被复制的数组,第二个参数是被复制数组的起始索引,第三个是新数组,第四个参数是新数组的起始索引
        System.arraycopy(a,0,newArray,0,5);
        System.out.println(Arrays.toString(newArray));// [1,2,3,4,5,0]

    }

这里注意,arraycopy的性能高于copyOf,因为copyOf的源码实现就是arraycopy。

7.asList(int[] a,int[] b)数组转换为list:

    public static void main(String[] args) {
        // 定义2个数组
        int[] a={1,2,3,4,5,6};
        int[] b={23,34,23};
        // 将两个数组放进list集合中
        List<int[]> ints = Arrays.asList(a, b);
        for (int[] anInt : ints) {
            System.out.println(Arrays.toString(anInt));// [1,2,3,4,5,6][23,34,23]
        }
    }
posted @   JamieChyi  阅读(12)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示