Arrays工具类的常见方法总结

Arrays.asList( )

作用:将数组转化为List集合的方法

参数:动态参数(T.....a)

返回值:LIst<T>集合

举例

 //创建临时集合(原因:元素一个个add太繁琐),创建好了之后不能再往临时集合中添加数据了
        List<String> friedList = Arrays.asList("HY","JX","HF","JG");
        ArrayList<String> list2 = new ArrayList<String>();
        list2.addAll(friedList);       //全部添加至集合中
        System.out.println(list2);

Arrays.binarySearch( )

作用:查找目标元素(前提是数组必须有序)

参数:数组、目标值

返回值:目标元素的位置(没有找到返回-1)

举例:

        //二分查找(数组必须为有序数组)
        int[] nums1={1,2,3,4,5,6,7,8,9};//有序
        int target=5;
        int index1=Arrays.binarySearch(nums1,5);
        System.out.println("所找的数在该数组nums1下标为"+index1+"的地方");
        int[] nums2={2,4,1,5,8,7,6};//无序
        Arrays.sort(nums2);   //排序:默认升序
        int index2=Arrays.binarySearch(nums2,5);
        System.out.println(Arrays.toString(nums2));
        System.out.println("所找的数在该数组nums2下标为"+index2+"的地方");

Arrays.copyOf( ) 

作用:复制数组

参数:原数组、复制元素个数

返回值:int[ ]类型的数组

举例:

        int[] arr1 = {1, 5, 9, 3, 6, 7, 8, 10};
        //Arrays.copyOf(源数组,length):从下标0开始复制,复制length个元素
        int[] arr2 = Arrays.copyOf(arr1, 4);
        //当length大于源数组,并且会进行扩容
        int[] arr4 = Arrays.copyOf(arr1, 10);
   

Arrays.copyOfRange( )

作用:复制数组

参数:原数组、开始复制的位置、结束复制的位置

返回值:int[ ]类型的数组

举例:

        //Arrays.copyOfRange(源数组,from,to):从from开始复制,到to结束(不包含下标to的元素)
        int[] arr3 = Arrays.copyOfRange(arr1, 2, 6);
        //复制后五个数组,并to大于源数组的length,不仅复制了源数组,并且将会扩容
        int[] arr5=Arrays.copyOfRange(arr1,3,arr1.length+10);

Arrays.fill( )

作用:数组的填充

参数:填充的数组对象、填充值

返回值:无返回值

举例:

//填充
        int[] num = new int[10];
        Arrays.fill(num,5);
        System.out.println(Arrays.toString(num));

Arrays.sort( )

作用:对数组进行排序

参数:一个数组

返回值:无返回值

举例


		int[] number={5,2,9,7,1};
		System.out.println("排序前:"+Arrays.toString(number));
		Arrays.sort(number);
		System.out.println("排序后:"+Arrays.toString(number));

Arrays.toString( )

作用:查看数组中的所有值

参数:一个数组

返回值:字符串

举例:

        //定义数组的语法1:数组类型[] 数组名称 = new 数组类型[长度]
        int[] arr1 = new int[10];//默认值为0
        //语法2
        double[] arr2;//声明数组//默认值0.0
        arr2 = new double[2];//创建数组(分配内存空间)
        boolean[] arr3 = new boolean[5];//默认值false
        String[] arr4 = new String[5];
        //打印方式1:直接打印数组(数组类型@内存地址)
        System.out.println(arr1);//[I@135fbaa4
        System.out.println(arr2);//[D@45ee12a7
        System.out.println(arr3);//[Z@330bedb4
        //打印方式2:通过Arrays工具类的toString()方法查看数组中的所有值
        System.out.println(Arrays.toString(arr1));
        System.out.println(Arrays.toString(arr2));
        System.out.println(Arrays.toString(arr3));
        System.out.println(Arrays.toString(arr4));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值