Java Collections.sort()排序代码案例
1、案例:
Person对象(名字,id,年龄)
要求按照,年龄从小到大排序,年龄相等,按照名字的字典顺序de倒序排序
2、案例设计:
1)使用ArrayList存储Person对象,
2)利用Collections.sort()进行排序
3)输出结果
3、代码分享:
packageCollectionDemo;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.List;
importjava.util.Comparator;
classPerson{
privateintid;
privateintage;
privateStringname;
publicPerson(intid,intage,Stringname){
this.id=id;
this.age=age;
this.name=name;
}
publicvoidsetId(intid){
this.id=id;
}
publicvoidsetAge(intage){
this.age=age;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetId(){
returnid;
}
publicintgetAge(){
returnage;
}
publicStringgetName(){
returnname;
}
@Override
publicStringtoString(){
return"Person{"+
"id="+id+
",age="+age+
",name='"+name+'\''+
'}';
}
}
publicclassCollectionDemo2{
publicstaticvoidmain(String[]args){
ListarrayList=newArrayList<>();
arrayList.add(newPerson(001,20,"yang"));
arrayList.add(newPerson(002,20,"zhang"));
arrayList.add(newPerson(003,30,"li"));
arrayList.add(newPerson(004,40,"Coco"));
arrayList.add(newPerson(005,40,"Marry"));
Collections.sort(arrayList,newComparator(){
publicintcompare(Persono1,Persono2){
if(o1.getAge()!=o2.getAge()){
returno1.getAge()-o2.getAge();//按照年龄升序排序
}else{
returno2.getName().compareToIgnoreCase(o1.getName());//按照名字的字典顺序倒序排序
}
}
});
//输出
for(Personp:arrayList){
System.out.println(p);
}
}
}
输出:
Person{id=2,age=20,name='zhang'}
Person{id=1,age=20,name='yang'}
Person{id=3,age=30,name='li'}
Person{id=5,age=40,name='Marry'}
Person{id=4,age=40,name='Coco'}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。