• List集合对象根据字段排序


    //把需要比较的对象实现Comparable接口实现compareTo方法

    public class Address implements Comparable<Address> {
    String country;
    String city;
    String name;

    public Address(String country, String city, String name) {
    super();
    this.country = country;
    this.city = city;
    this.name = name;
    }

    public String toString(){
    return " name:"+this.name+" city:"+this.city+" country:"+this.country;
    }

    @Override
    public int compareTo(Address o) {
      //如果国家不相等,那么直接比较其他字段
      if(!this.country.equals(o.country)){
        return this.country.compareTo(o.country);
      }else if(!this.city.equals(o.city)){
        return this.city.compareTo(o.city);
      }else{
        return this.name.compareTo(o.name);
      }
      }
    }

    //测试类
    public class ComparableTest {
    public static void main(String[] args) {
      List<Address> list = new ArrayList<Address>();
      Address a1 = new Address("中国", "湖南", "屌丝1");
      Address a2 = new Address("中国", "湖北", "屌丝2");
      Address a3 = new Address("美国", "纽约", "屌丝3");
      Address a4 = new Address("中国", "湖北", "屌丝4");
      Address a5 = new Address("中国", "湖南", "屌丝5");
      Address a6 = new Address("中国", "广西", "屌丝6");
      list.add(a1);
      list.add(a2);
      list.add(a3);
      list.add(a4);
      list.add(a5);
      list.add(a6);

      System.out.println(list);//排序前
      Collections.sort(list);
      System.out.println(list);//排序后

      }
     }
    }

    //打印结果

    [ name:屌丝1 ncity:湖南 ncountry:中国,

    name:屌丝2 ncity:湖北 ncountry:中国,

    name:屌丝3 ncity:纽约 ncountry:美国,

    name:屌丝4 ncity:湖北 ncountry:中国,

    name:屌丝5 ncity:湖南 ncountry:中国,

    name:屌丝6 ncity:广西 ncountry:中国]


    [ name:屌丝6 ncity:广西 ncountry:中国,

    name:屌丝2 ncity:湖北 ncountry:中国,

    name:屌丝4 ncity:湖北 ncountry:中国,

    name:屌丝1 ncity:湖南 ncountry:中国,

    name:屌丝5 ncity:湖南 ncountry:中国,

    name:屌丝3 ncity:纽约 ncountry:美国]

  • 相关阅读:
    矩阵乘法的应用
    Link-Cut-Tree
    花里胡哨的代用记号与三标符(转载)
    (扩展)中国剩余定理
    C++ 中的转义字符 “”
    Excel VBA to Interact with Other Applications
    hive表数据导出到csv乱码原因及解决方案
    一道简单的sql语句题,http://mp.weixin.qq.com/s/wqRPFtSUAy5OzLlP69QCSA
    Hive系列之HSQL转换成MapReduce过程 ,http://www.jianshu.com/p/660fd157c5eb
    Hive SQL的编译过程[转载自https://tech.meituan.com/hive-sql-to-mapreduce.html]
  • 原文地址:https://www.cnblogs.com/laotan/p/3651111.html
Copyright © 2020-2023  润新知