【code基础】Compare的高阶用法

比较中的compare函数,不仅可以使用被比较数组自身的信息,还可以使用其他的数组

public void conpareTest(){
   String[] nums = {"102","473","251","814"};

  //1.下标数组
  Integer index[] = new Integer[nums.length];
  for (int j = 0; j < nums.length; j++) {
      index[j] = j;
  }
  System.out.println(Arrays.toString(index));
  //[0, 1, 2, 3]

  //2.通过辅助数组nums,来实现下标数组index的排序,共用了同样的index
  Arrays.sort(index, Comparator.comparing(o -> nums[o].substring(1))); //使用原数组的后2位值的大小作为比较的基准
  System.out.println(Arrays.toString(index));
  //[0, 3, 2, 1]

  }

posted @ 2022-09-24 16:19  xiaoyu_jane  阅读(178)  评论(0编辑  收藏  举报