Arrays类中的常用方法

Arrays类

equals方法

        比较数组中的内容是否相同

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

sort方法

        将数组中的元素进行排序,数组中的元素如果为引用类型,那么需要说明通过引用类型中的哪一个属性进行排序,因为对象和对象之间不能直接进行比较,只能是对象中的某一个属性进行比较并排序。

        我们应对需要进行排序的对象所在的类进行说明,我们需要实现Comparable接口并重写接口中的compareTo方法,因为Arrays类在对引用类型的元素进行排序时会先将数组中的元素转换为Comparable类型并调用compareTo方法对元素进行比较。

 

        compareTo方法的返回值类型为int类型,我们可以在方法中制定两个对象比较大小的规则,compareTo方法需要传入一个对象类型的参数,我们此时就可以使用this以及传入的对象这两个对象中的某一个属性来决定这两个对象的大小,如果返回值小于零代表后面的对象大于前面的对象,如果等于零代表两个对象相等,如果大于零代表前面的对象大于后面的对象。

public class Cat implements Comparable<Cat> {
    int age;
​
    public Cat(int age) {
        this.age = age;
    }
​
    @Override
    public int compareTo(Cat o) {
        return this.age - o.age;
    }
}

        这里我是根据两个对象中的age属性来决定对象的大小

binarySearch方法

        使用二分查找法查找数组中是否存在某一个元素,二分查找法的前提是数组得是有序的要不然使用二分查找后是有问题的,方法的返回值为int类型,如果为整数表示找到了并且返回了该元素所在的下标,如果为负数表示没有找到并返回如果需要插入该元素的话需要插入的位置。比如说如果返回值为-3,那么就表示该元素如果需要插入时,应该在数组的第三个位置。

copyOf方法

        数组的复制,当当前数组的长度无法满足我们的需要时,我们需要对数组进行扩容并且将原来数组中的元素重写填入到新数组中,我们可以使用for循环一个一个填入,但是这样太麻烦,于是我们就可以使用Arrays中的copyOf方法,给定原来数组以及新数组的长度就可以返回一个新的数组。

public class Demo {
    public static void main(String[] args) {
        int[] a = {1, 2, 3, 4, 5};
        int[] b = Arrays.copyOf(a, 10);
        System.out.println(Arrays.toString(b));
    }
}

        结果为:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值