Arrays工具包总结

打印数组[数组转字符串]

  • 一维数组toString
    int[] arr = new int[]{1, 2, 3, 4};
   
      System.out.println(Arrays.toString(arr)) ; //[1, 2, 3, 4]
  • 二维数组deepToString
      int[][] arr = new int[][]{{1, 3}, {2 , 4}};
      System.out.println(Arrays.toString(arr)) ; //[[I@1540e19d, [I@677327b6]
      System.out.println(Arrays.deepToString(arr)); //[[1, 3], [2, 4]]

判断两个数组是否相等

int[] array = new int[]{1, 2, 3};
int[] array2 = new int[]{1, 2, 3};
System.out.out.println(Arrays.equals(array, array2)); //true
        int[][] deepArray1 = new int[][]{{1, 3},{2, 4}};
        int[][] deepArray2 = new int[][]{{1, 3},{2, 4}};
        System.out.println(Arrays.equals(deepArray1, deepArray2)); //false
        System.out.println(Arrays.deepEquals(deepArray1, deepArray2)); //true

deepEquals用于判定两个指定数组彼此是否深层相等,此方法适用于任意深度的嵌套数组。

equals用于判定两个数组是否相等,如果两个数组以相同顺序包含相同元素,则返回true。

如果两个数组使用equals返回true,则使用deepEquals必定也返回true,也就是说在比较的两个数组均为一维数组的前提下,equals和deepEquals的比较结果没有差别。

数组复制

int[] array = new int[]{3, 10, 4, 0, 2};
        int[] arrayCopy = Arrays.copyOf(array, 3);
        System.out.println(Arrays.toString(arrayCopy)); //[3, 10, 4]

        arrayCopy = Arrays.copyOf(array, 7);
        System.out.println(Arrays.toString(arrayCopy)); //[3, 10, 4, 0, 2, 0, 0], 多出的长度补0

        arrayCopy = Arrays.copyOfRange(array, 1, 4);
        System.out.println(Arrays.toString(arrayCopy)); //[10, 4, 0]

填充数组

        int[] arr = new int[4];

        Arrays.fill(arr, 10); // 使用10替换原来全部的数据
        System.out.println(Arrays.toString(arr)) ; //[10, 10, 10, 10]

        Arrays.fill(arr, 1, 3, 33);// 部分填充:使用33填充起始索引1, 结束索引3 之间的数据
        System.out.println(Arrays.toString(arr)) ; //[10, 33, 33, 10]

排序

        int[] array = new int[]{3, 10, 4, 0, 2};
        Arrays.sort(array);
        System.out.println(Arrays.toString(array)); //[0, 2, 3, 4, 10]

        array = new int[]{3, 10, 4, 0, 2};
        Arrays.parallelSort(array); //和sort相比是这个是并行的
        System.out.println(Arrays.toString(array)); //[0, 2, 3, 4, 10]

        array = new int[]{3, 10, 4, 0, 2};
        Arrays.sort(array, 0, 4); //部分排序
        System.out.println(Arrays.toString(array)); //[0, 3, 4, 10, 2]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值