list排序方法

来源:互联网 发布:软件咨询合同 编辑:程序博客网 时间:2024/06/06 07:48

一: 排序list<object>

publicclass Person implementsComparable<Person> {
    privateString name;
    privateInteger order;
 
    /**
     * @return the name
     */
    publicString getName() {
        returnname;
    }
 
    /**
     * @param name
     *            the name to set
     */
    publicvoid setName(String name) {
        this.name = name;
    }
 
    /**
     * @return the order
     */
    publicInteger getOrder() {
        returnorder;
    }
 
    /**
     * @param order
     *            the order to set
     */
    publicvoid setOrder(Integer order) {
        this.order = order;
    }
 
    @Override
    publicint compareTo(Person arg0) {
        returnthis.getOrder().compareTo(arg0.getOrder());
    }
 
}

public static void main(String[] args) {
    List<Person> listA =new ArrayList<Person>();
    Person p1 =new Person();
    Person p2 =new Person();
    Person p3 =new Person();
 
    p1.setName("name1");
    p1.setOrder(1);
    p2.setName("name2");
    p2.setOrder(2);
    p3.setName("name3");
    p3.setOrder(3);
 
    listA.add(p2);
    listA.add(p1);
    listA.add(p3);
    Collections.sort(listA);
    for(Person p : listA) {
        System.out.println(p.getName());
    }
}

二:

List list = new ArrayList();

        list.add("10.8");
        list.add("50.3");
        list.add("168.61");
        list.add("115");
        list.add("317");
        list.add("123");
        Collections.sort(list);
     // 字符串排序
        Collections.sort(list, new Comparator() {
          @Override
          public int compare(Object o1, Object o2) {
            return new Double((String) o1).compareTo(new Double((String) o2));
          }
        });
        System.out.println(list.toString()); // [68.9, 92.8, 105, 168.61, 242, 317]


0 0