假如有一个类为User,有年龄age属性,那么如果有个list定义为
List<User> ks = new ArrayList<<span style="font-family: Arial, Helvetica, sans-serif;">User</span><span style="font-family: Arial, Helvetica, sans-serif;">>();</span>
for(String k:keys) {
ks.add(new User(k,getAge()));
}
Collections.sort(ks);
那么如果想让ks按照User的age进行自动排序也就是Collections.sort(ks)能够正常使用,那么需要让User实现Comparable<User>接口
public class Userimplements Comparable<User>{
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public User(String name,int age) {
<span style="white-space:pre"> </span>this.age = age;
<span style="white-space:pre"> </span>this.name = name;
<span style="white-space:pre"> </span>}
@Override
public int compareTo(User o) {
return this.age>o.age?-1:(this.age==o.age?0:1);
}
}