java笔记之Arrays类的常用方法

文章介绍了Java的Arrays类,包括toString方法用于打印数组,sort方法进行排序,binarySearch进行二分查找,copyOf用于复制数组,fill用于填充数组元素,equals比较数组内容,以及如何将数组转换为List。此外,还展示了如何通过自定义比较器实现冒泡排序。
摘要由CSDN通过智能技术生成

源自韩顺平 零基础30天学java笔记



一、Arrays类介绍

Arrays在java.util包下,即工具包下,其包下的类中方法大都是static的,而静态方法是可以不创建对象之间通过类名就可以访问的,非常方便。
如Math.sqrt()函数的调用。

二、Arrays类中的常见方法

1.toString方法:将数组一字符串形式打印出来。

2.sort排序(!!!)

直接使用Arrays.sort(integers);
定制排序

        Arrays.sort(integers, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                Integer n1=(Integer)o1;
                Integer n2=(Integer)o2;
                return n2-n1;
            }
        });

3.binarySearch通过二分搜索法进行查找。

Integer[] arr={1,123,2,90,567};
int i = Arrays.binarySearch(arr, 92);
System.out.println(i);

数组无序时不能使用二分查找。

4.copyOf数组元素的复制

Integer[] newarr = Arrays.copyOf(arr, arr.length);

数组元素的复制:从arr数组中拷贝arr.length长度的数据到新数组newarr中

5.fill数组元素的填充

Integer[] num=new Integer[]{9,3,2};
Arrays.fill(num,99);

数组元素的填充-将原数组中的元素全部替换为指定的值。

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

7.asList将一组值转化为list

List integers = Arrays.asList(2, 3, 5, 4, 8, 6, 7);
System.out.println(integers);

将一组值转化为list集合

三、Arrays的模拟排序

//--------冒泡+定制排序:可自行决定排序的顺序。
        public  static void bubble01(int[] arr, Comparator c){
        int temp=0;
        for (int i=0;i<arr.length-1;i++){
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (c.compare(arr[j],arr[j+1])>0){
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        int[] arr={1,-1,3,98,24,5,7,9};
        bubble01(arr, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                int n1=(Integer)o1;
                int n2=(Integer)o2;
                return n2-n1;
            }
        });
        System.out.println(Arrays.toString(arr));
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值