//comapable的用法
//实现comparable接口,如果使用Comparator则不需要实现接口
public class User implements Comparable<User>
{
private String name;
private int age;
public User(String name,int age){
this.name=name;
this.age=age;
}
@Override
public String toString()
{
return "User [name=" + name + ", age=" + age + "]";
}
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;
}
//实现compareble的compareTo方法
@Override
public int compareTo(User o)
{
return this.getAge()-o.getAge();
}
public static void main(String[] args)
{
User o1=new User("o1",23);
User o2=new User("o2",22);
User o3=new User("o3",24);
List<User> list=new ArrayList<User>();
list.add(o1);
list.add(o2);
list.add(o3);
// Comparator不需要被继承,需要重写compare()
// Comparator c=new Comparator<User>(){
//
// @Override
// public int compare(User o1, User o2)
// {
// if(o1.getAge() > o2.getAge()){
// return 1;
// };
// if(o1.getAge() < o2.getAge()){
// return -1;
// };
// return 0;
// }};
// Collections.sort(list,c);//Comparator
Collections.sort(list);//compareble
for(User u:list){
System.out.println(u.getAge());
}
}
}
集合按元素指定属性排序_comparable,Comparator
最新推荐文章于 2021-02-25 09:10:25 发布