Java之Arrays类

Arrays类

Arrays类常用方法
Arrays里面包含了一系列静态方法,用于管理或操作数组(比如排序和搜索)
1.toString 返回数组的字符串形式

Integer[] integers = {1,20,90};
//遍历数组
//for (int i = 0; i < integers.length; i++) {
//   System.out.println(integers[i]);
//}
//直接用Arrays.toString方法,显示数组
System.out.println(Arrays.toString(integers));//[1, 20, 90]

Array.toString(arr)
2.sort排序(自然排序和定制排序)Integer arr[] = {1,-1,7,0,89};

//sort方法的使用
Integer arr[] = {1, -1, 7, 0, 89};
//进行排序
//1.可以直接使用冒泡排序,也可以直接使用Arrays提供的sort方法排序
//2.因为数组是引用类型,使用同sort排序后,会直接影响到实参 arr
//3.sort重载的,也可以通过传入一个接口 comparator 实现定制排序
//4.调用 定制排序 时 ,传入两个参数
//(1)排序的数组 arr (2)实现了Comparator接口的匿名内部类,要求实现 compare方法
//5.先演示效果,再解释

//Arrays.sort(arr); //默认排序方法(从小到大)
Arrays.sort(arr, new Comparator() {
    @Override
    public int compare(Object o1, Object o2) {
        Integer i1 = (Integer) o1;
        Integer i2 = (Integer) o2;
        return i2-i1;
    }
});
System.out.println("===排序后===");
System.out.println(Arrays.toString(arr));

3.binarySearch 通过二分搜索法进行查找,要求必须排好序
int index = Arrays.binarySearch(arr,3);

Integer[] arr = {1,2,90,123,567};
        //binarySearch 通过二分搜索法进行,要求必须排好
        //1.使用 binarySearch 二叉查找
        //2.要求该数组是有序的。如果该数组是无序的,不能使用binarySearch
        //3.如果数组中不存在该元素,就返回  源码:return -(low + 1);  // key not found.
        // 返回的是:-(应该存在的位置+1)
        int  index1 = Arrays.binarySearch(arr,90);//2
        int  index2 = Arrays.binarySearch(arr,92);//-4
        System.out.println("index1=" + index1);
        System.out.println("index2=" + index2);

4.copyOf 数组元素的复制

//copyOf 数组元素的复制
        //1.从arr数组中,拷贝arr.length个元素到newArr数组中
        //2.如果拷贝到长度 > arr.length 就在新数组到后面 增加 null
        //3.如果拷贝长度 < 0 就抛出异常
        Integer[] newArr = Arrays.copyOf(arr,arr.length);
        System.out.println("===拷贝后===");
        System.out.println(Arrays.toString(newArr));

5.fill 用指定元素替换数组所有元素

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

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

//equals 比较两个数组元素内容是否完全一致
        Integer[] arr2 = {1,2,90,123,567};
        //如果数组元素完全一样,返回true,否则返回false
        boolean equals = Arrays.equals(arr,arr2);
        System.out.println("equals=" + equals);

7.asList 将一组值,转换成list

//asList 将一组值,转换成list
        //1.asList方法会将(2,3,4,5,6,1)数据转成一个List集合
        //2.返回的 asList 编译类型 List(接口)
        //3.asList 运行类型 java.util.ArrayList,是Array类的
        List<Integer> asList = Arrays.asList(2,3,4,5,6,1);
        System.out.println("asList=" + asList);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值