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