实体类,有3个属性
entity.java
Integer id;
String name;
String sex;集合,list里面有10个实体类
for(int i=0; i<10; i++) {
    list.add(entity);
}如果我想按照name排序,或者sex排序,怎么做?

解决方案 »

  1.   

    很简单的, 直接给这个实体类实现Comparable接口, 然后调用Collections.sort(List list) 方法就可以了.比如:
    public class TestObject implements Comparable{
    private String name;
    private String password;

    public TestObject(String name, String password) {
    super();
    this.name = name;
    this.password = password;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public String getPassword() {
    return password;
    }

    public void setPassword(String password) {
    this.password = password;
    }

    @Override
    public String toString() {
    return name + "-" + password;
    } @Override
    public int compareTo(Object t) {
    return this.name.compareTo(((TestObject)t).getName());
    }
    }import java.util.*;import obj.TestObject;public class Test {
    public static void main(String arg[]) {
    TestObject t1 = new TestObject("te2", "sad");
    TestObject t2 = new TestObject("te1", "sad");
    List list = new ArrayList();
    list.add(t1);
    list.add(t2);
    Collections.sort(list);

    System.out.println(list);
    }
    }当然, 如果不想修改实体类, 那就写一个比较器, 调用Collections.sort(List, Comparator)方法就行了.
      

  2.   

    fsh2008
    我很想知道是不是真的能实现
      

  3.   

    fsh2008你的这个方法如何对某一个属性进行的的排序?