首先,在我们的bean实现Comparable接口的compareTo()方法;
其次,在使用Set集合的时候不在使用new HashSet()了,而是使用new TreeSet();
只要我们的bean实现了Comparable接口,并且我们存入TreeSet的对象是同一个类型,在存入TreeSet的时候它会自动调用我们的compareTo()方法进行排序,而不需要多余的操作。
小例子:
public class Attendance implements Comparable { private Integer attId; public Integer getAttId() { return this.attId; } public void setAttId(Integer attId) { this.attId = attId; } public String toString(){ return " 编号="+this.attId; } //实现接口 public int compareTo(Object o) { Attendance a=(Attendance)o; return this.attId-a.attId; } //测试的main方法 public static void main(String[] args){ Attendance atta=new Attendance(); atta.setAttId(30); Attendance attb=new Attendance(); attb.setAttId(25); Attendance attc=new Attendance(); attc.setAttId(23); Attendance attd=new Attendance(); attd.setAttId(22); Attendance atte=new Attendance(); atte.setAttId(21); Set s=new TreeSet(new ArrayList()); s.add(atte); s.add(atta); s.add(attc); s.add(attb); s.add(attd); System.out.println(s); } }