如何在ArrayList中对用户定义的对象进行排序

时间:2012-10-28 09:51:14

标签: java

  

可能重复:
  How to sort an arraylist of objects by a property?

    public static void main(String args[]){

            List<Emp> unsortList = new ArrayList<Emp>();

            unsortList.add(new Emp(109));
            unsortList.add(new Emp(106));
            unsortList.add(new Emp(103));
            unsortList.add(new Emp(108));
            unsortList.add(new Emp(101));
    }

public class Emp {
Integer eid;
public Emp(Integer eid) {
    this.eid=eid;
}
}

Emp是用户定义的类&amp;存储在ArrayList中。如何排序ArrayList。

2 个答案:

答案 0 :(得分:2)

查看Collections#sort(List list, Comparator c)

它允许您提供自己的Comparator,您可以使用它来定义对象的匹配方式

答案 1 :(得分:1)

实施Comparable<Emp>并使用Collections.sort对列表进行排序

public class Emp implements Comparable<Emp> {
    Integer eid;

    public Emp(Integer eid) {
        this.eid = eid;
    }

    @Override
    public int compareTo(Emp o) {
        return eid.compareTo(o.eid);
    }
}