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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。