Java如何实现List自定义排序
实体类
packagecom.whty.entity;
publicclassUser{
privateintid;
privateStringname;
privateintage;
publicUser(intid,Stringname,intage){
super();
this.id=id;
this.name=name;
this.age=age;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
@Override
publicStringtoString(){
return"User[id="+id+",name="+name+",age="+age+"]";
}
}
测试类
packagecom.whty.test;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.List;
importcom.whty.entity.User;
publicclassTest{
publicstaticvoidmain(String[]args){
Listlist=newArrayList<>();
list.add(newUser(1,"java",20));
list.add(newUser(2,"spark",19));
list.add(newUser(3,"hive",21));
for(Useruser:list){
System.out.println("排序前:"+user.toString());
}
//实现排序
Collections.sort(list,newComparator(){
@Override
publicintcompare(Useru1,Useru2){
if(u1.getAge()>u2.getAge()){
//return-1:即为正序排序
return-1;
}elseif(u1.getAge()==u2.getAge()){
return0;
}else{
//return1:即为倒序排序
return1;
}
}
});
for(Useruser:list){
System.out.println("排序后:"+user.toString());
}
}
}
运行结果
排序前:User[id=1,name=java,age=20]
排序前:User[id=2,name=spark,age=19]
排序前:User[id=3,name=hive,age=21]
排序后:User[id=3,name=hive,age=21]
排序后:User[id=1,name=java,age=20]
排序后:User[id=2,name=spark,age=19]
以上就是Java如何实现List自定义排序的详细内容,更多关于JavaList自定义排序的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。