二维数组、对象数组、集合排序

简介: 快速学习二维数组、对象数组、集合排序

二维数组排序

    int a[][] ={{1,2},{4,3},{2,1},{2,-1}};
    Arrays.sort(a,new Comparator<int[]>() {
      @Override
      public int compare(int[] o1, int[] o2) {
        //如果第一个数字相等,比价第二个
        if(o1[0]-o2[0]==0)
          return o1[1]-o2[1];
        return o1[0]-o2[0];
      }
    });
  • o1[0]-o2[0],减,升学排序
  • o2[0]-o1[0],减,降序排序


对象数组排序

  • 对象需要添加接口 Comparable
  • 重写了Comparable的CompareTo方法
  • 可以比较对象中初始化的元素,必须返回数字
   public int compareTo(Hero o) {
      //如果有多个再进行额外的判断
        return this.age- o.age;
    }


集合排序

  • List item
    List<Integer> list=new ArrayList<Integer>();
    list.add(2);
    list.add(1);
    list.add(4);
    list.add(3);
    Collections.sort(list,new Comparator<Integer>() {
      @Override
      public int compare(Integer o1, Integer o2) {
        // TODO Auto-generated method stub
        return o2-o1;
      }
    });
    System.out.println(list);
相关文章
|
5天前
将一个数组复制给另外一个数组
【10月更文挑战第29天】将一个数组复制给另外一个数组。
14 2
|
6月前
|
存储 算法 计算机视觉
数组
数组
47 0
|
5月前
数组(3)
数组(3)
33 2
|
5月前
|
存储 算法 编译器
数组(1)
数组(1)
32 0
|
6月前
|
存储 C++ 索引
C++数组
C++数组
|
6月前
|
程序员 索引
C 中数组详解
C 中数组详解。
32 3
|
存储 机器学习/深度学习 Java
原来这就是数组
原来这就是数组
79 0
|
6月前
|
存储 程序员 C++
|
11月前
遍历一维数组
遍历一维数组
48 0
|
12月前
|
机器学习/深度学习 Java
【数组的使用】
【数组的使用】
45 0