数组中常用的Arrays的方法

Arrays类常用的方法

1toString:直接显示数组

2.sort: 数组排序(默认排序和定制排序)

3.binarySearch: 通过二分搜素法进行查询(返回的是数组数下标)

(1).要求该数组是有序的,如果该数组无序的,则不能使用binarySearch

(2).如果数组中不存在该元素,就返回return -(low+1),离它最近的值后边下标+1。

4.copyOf: 数组元素复制

(1).从arr数组中,拷贝arr.length个元素到newArr数组中

(2).如果拷贝长度>arr.length 就在新数组后面 增加null

(3).如果拷贝长度<0 就抛出异常NegativeArraySizeException

5.ill: 数组元素的填充

6.equals: 比较两组元素内容是否完全一致

7.asList 将一组值,转换成List集合

ToString 、sort 例题如下:

public class ArraysMethod01 {
    public static void main(String[] args) {
        Integer [] integers={1,87,22};
        //1.Arrays.toString()直接显示数组
        System.out.println(Arrays.toString(integers));
        
        //2.Arrays.sort() 数组默认排序和定制排序
        /*
        1.因为数组是引用类型,所以通过sort排序后,会直接影响到实参arr
        2.sort重载的,也可以传入一个接口Comparator实现定制排序
        3.调用定制排序时,传入两个参数
       (1).排序的数组 arr
       (2).实现了Comparator接口的匿名内部类,要求实现compare方法
         */

        //1.默认排序Arrays.sort(arr)
        Integer [] arr={1,99,87,100};
      //  Arrays.sort(arr);

        //2.定制排序
        Arrays.sort(arr, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
               Integer i1=(Integer) o1;
               Integer i2=(Integer) o2;
             return i1-i2; //正序 ;倒序:i2-i1

            }
        });
        System.out.println("===排序后===");
        System.out.println(Arrays.toString(arr));

    }
}

远行结果如下:

[1, 87, 22]
===排序后===
[1, 87, 99, 100]

binarySearch、copyOf、ill、equals、asList例题如下:

public class ArraysMethod02 {
    public static void main(String[] args) {

        Integer [] arr={77,1,4,80,99};

     /*
     3.binarySearch 通过二分搜素法进行查找
     要求:
     1.要求该数组是有序的,如果该数组无序的,则不能使用binarySearch
     2.如果数组中不存在该元素,就返回return -(low+1); 离它最近的值后边下标+1
      */
     int index=Arrays.binarySearch(arr,99);
        System.out.println("index="+index);

        /*
        4.copyOf 数组元素复制
        1.从arr数组中,拷贝arr.length个元素到newArr数组中
        2.如果拷贝长度>arr.length 就在新数组后面 增加null
        3.如果拷贝长度<0 就抛出异常NegativeArraySizeException
         */

        Integer [] newArr=Arrays.copyOf(arr,6);
        System.out.println("执行拷贝完毕");
        System.out.println(Arrays.toString(newArr));

        Integer[] num=new Integer[]{1,2,4};
        //5.ill 数组元素的填充
        /*
        使用99去填充 num数组,可以理解成替换原理
         */
        Arrays.fill(num,99);
        System.out.println("====数组填充后===");
        System.out.println(Arrays.toString(num));

        //6.equals 比较两组元素内容是否完全一致,一样则返回true.否则返回false
        Integer [] arr2={12,11,77};
        boolean equals=Arrays.equals(num,arr2);
        System.out.println("equals="+equals);
//7.asList 将一组值,转换成List
        /*
        1.asList方法,会将(1,77,22,11)数据转成一个List集合
        2.返回asList 编译类型 List(接口)
        3.asList 运行类型 java.util.Arrays$ArrayList
        是Arrays类的静态内部类 private static class ArraysList<E> extends AbstractList<E> implements RandomAcess,java.io.Serializable
         */

        List asList=Arrays.asList(1,77,22,11);
        System.out.println("asList="+asList);
        System.out.println("asList的远行类型"+asList.getClass());
    }
}

运行结果如下:

index=4
执行拷贝完毕
[77, 1, 4, 80, 99, null]
====数组填充后===
[99, 99, 99]
equals=false
asList=[1, 77, 22, 11]
asList的远行类型class java.util.Arrays$ArrayList

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值