-2

可能重复:
如何按属性对对象的数组列表进行排序?

    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 是用户定义的类并存储在 ArrayList 中。如何排序 ArrayList。

4

2 回答 2

2

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

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

于 2012-10-28T09:54:15.510 回答
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);
    }
}
于 2012-10-28T09:53:59.553 回答