java 之list集合按照欄位升序或降序
阿新 • • 發佈:2018-12-25
- 實體類我就不寫了,直接上資料吧!
List<PersionInfo> list=new ArrayList<>(); PersionInfo info1=new PersionInfo("555","33","333");
PersionInfo info2=new PersionInfo("222","44","22");
PersionInfo info3=new PersionInfo("4444","22","333"); PersionInfo info4=new PersionInfo("111","666","333");
PersionInfo info5=new PersionInfo("000","55","333");
list.add(info1);
list.add(info2);
list.add(info3);
list.add(info4);
list.add(info5);
for (int i=0;i<list.size();i++){
System.out.println(list.get(i).toString()+"11==");
}
ComparatorUser comparatorUser=new ComparatorUser();
Collections.sort(list ,comparatorUser);
for (int i=0;i<list.size();i++){
System.out.println(list.get(i).toString()+"22==");
}
class ComparatorUser implements Comparator{
@Override
public int compare(Object object1, Object object2) {
PersionInfo info1= (PersionInfo) object1;
PersionInfo info2= (PersionInfo) object2;
//首先比較年齡,如果年齡相同,則比較名字
//預設flag值1,預設是升序,如果返回是為-flag則是降序
int flag=info1.getAge().compareTo(info2.getAge());
if(flag==0){
return info1.getName().compareTo(info2.getName());
}else {
return flag;
}
}
}