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

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

二维数组排序

    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);
相关文章
|
4月前
|
存储
数组的初识
数组的初识
|
4月前
|
Java
数组的练习
数组的练习
|
3月前
|
存储 算法 编译器
数组(1)
数组(1)
27 0
|
4月前
|
存储 搜索推荐 算法
C数组
C数组
31 0
|
11月前
|
存储 C语言 索引
C 数组
C 数组。
34 0
|
4月前
|
存储 C++ 索引
C++数组
C++数组
|
存储 机器学习/深度学习 Java
原来这就是数组
原来这就是数组
70 0
|
4月前
|
存储 程序员 C++
|
4月前
|
存储 人工智能 算法
4.为何数组下表从0开始
4.为何数组下表从0开始
57 1
|
4月前
|
机器学习/深度学习 人工智能 JavaScript
数组练习
数组练习。
29 0