JAVA数组工具类Arrays及其方法的使用(Arrays.toString(),Arrays.sort()Arrays.equals(),Arrays.fill()等)

目录

引言

一,Arrays类常用方法

二,Arrays类方法的使用

2.1,toString()方法

2.1.1,deepToString()方法及与toString()方法的区别

2.2,sort()方法

2.3,equals()方法

2.3.1,deepEquals()方法和与equals的区别

2.4,fill()方法

2.5,binarySearch()方法


引言

        Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。

一,Arrays类常用方法

        Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

具有以下功能:

  • 快速输出数组内容:通过toString方法
  • 给数组赋值:通过 fill 方法。
  • 对数组排序:通过 sort 方法,按升序。
  • 比较数组:通过 equals 方法比较数组中元素值是否相等。
  • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作
1

public static void toString(Object[ ] a, Object key)

用来将数组转换成String类型输出的,传入的参数可以是boolean,byte,char,double,float,int,long,Object,short类型的数组

2

public static void sort(Object[ ] a)
对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)

3public static boolean equals(long[ ] a, long[ ] a2)
如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
4public static void fill(int[ ] a, int val)
将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
5public static int binarySearch(Object[ ] a, Object key)
用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。

二,Arrays类方法的使用

2.1,toString()方法

示例代码:

public static void main(String[] args) {
        int[] arr={2,4,3,6,55,7,5};
        System.out.println(Arrays.toString(arr));
    }

输出结果:

2.1.1,deepToString()方法及与toString()方法的区别

        Arrays.deepToString()主要用于数组中还有数组的情况(即多维数组,包括二维数组)。 Arrays.deepToString()一般用来打印多维数组。

        Arrays.toString()则相反,对于Arrays.toString()而言,当数组中有数组时,不会打印出数组中的内容,只会以地址的形式打印出来。Arrays.toString()一般用于打印一维数组。

toString()打印多维数组示例代码:

public static void main(String[] args) {
        int[][] arr={{5,4,6,5},{1,5,2}};
        System.out.println(Arrays.toString(arr));
    }

输出结果:

deepToString()打印多维数组示例代码:

public static void main(String[] args) {
        int[][] arr={{5,4,6,5},{1,5,2}};
        System.out.println(Arrays.deepToString(arr));
    }

输出结果:

 

2.2,sort()方法

 示例代码:

public static void main(String[] args) {
        int[] arr={2,4,30,6,55,7,5};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }

输出结果:

2.3,equals()方法

示例代码:

public static void main(String[] args) {
        int[] arr1={1,2,3,4};
        int[] arr2={1,2,3,4};
        int[] arr3={1,2,3,3};
        System.out.println(Arrays.equals(arr1, arr2));
        System.out.println(Arrays.equals(arr1, arr3));
    }

输出结果:

2.3.1,deepEquals()方法和与equals的区别

Arrays.deepEquals()主要用于比较两个多为数组的情况(即多维数组,包括二维数组)。 Arrays.deepEquals()一般用来比较两个多维数组是否相等。

        Arrays.equals()则相反,对于Arrays.equals()而言,当数组中有数组时,比较两个多维数组,只会返回false。Arrays.equals()一般用于比较一维数组。

deepEquals()方法 示例代码:

public static void main(String[] args) {
        int[][] arr1={{1,1,1},{1,1,1}};
        int[][] arr2={{1,1,1},{1,1,1}};
        int[][] arr3={{2,2,2},{2,2,2}};
        System.out.println(Arrays.deepEquals(arr1, arr2));
        System.out.println(Arrays.deepEquals(arr1, arr3));
    }

输出结果:

 

equals()方法示例代码:

public static void main(String[] args) {
        int[][] arr1={{1,1,1},{1,1,1}};
        int[][] arr2={{1,1,1},{1,1,1}};
        int[][] arr3={{2,2,2},{2,2,2}};
        System.out.println(Arrays.equals(arr1, arr2));
        System.out.println(Arrays.equals(arr1, arr3));
    }

输出结果:

 

2.4,fill()方法

示例代码:

public static void main(String[] args) {
        int[] arr1={1,1,1,1};
        System.out.println(Arrays.toString(arr1));
        Arrays.fill(arr1,2);
        System.out.println(Arrays.toString(arr1));
    }

输出结果:

 

2.5,binarySearch()方法

        注意:在使用binarySearch()是,数组一定是已经排好序的,才能正常返回给定值索引。

示例代码:

public static void main(String[] args) {
        int[] arr1={1,5,55,3,2};
        Arrays.sort(arr1);
        System.out.println(Arrays.toString(arr1));
        System.out.println(Arrays.binarySearch(arr1, 2));
    }

输出结果:

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰冰很社恐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值