List对象去重和按照某个字段排序的实现方法
1、List
People类
publicclassPeople{ privateintid; privateStringname; privateDatecreateDate; publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicDategetCreateDate(){ returncreateDate; } publicvoidsetCreateDate(DatecreateDate){ this.createDate=createDate; } }
main方法
publicstaticvoidmain(String[]args)throwsException{ Listlist=newArrayList (); Peoplep1=newPeople(); p1.setId(1); p1.setName("赵"); list.add(p1); Peoplep2=newPeople(); p2.setId(2); p2.setName("钱"); list.add(p2); Peoplep3=newPeople(); p3.setId(3); p3.setName("孙"); list.add(p3); Peoplep4=newPeople(); p4.setId(4); p4.setName("李"); list.add(p4); Peoplep5=newPeople(); p5.setId(5); p5.setName("周"); list.add(p5); list.add(p1); for(Peoplep:list){ System.out.println(p); } System.out.println("=========================="); Set set=newHashSet (list); list.clear(); list.addAll(newArrayList (set)); for(Peoplep:list){ System.out.println(p); } }
2、List
自定义Comparator
publicclassMyComparatorimplementsComparator{ @Override publicintcompare(Peoplep1,Peoplep2){ returnp1.getCreateDate().compareTo(p2.getCreateDate()); } }
main方法
publicstaticvoidmain(String[]args)throwsException{ Listlist=newArrayList (); Peoplep1=newPeople(); p1.setId(1); p1.setName("赵"); p1.setCreateDate(newDate(newDate().getTime()+1000)); list.add(p1); Peoplep2=newPeople(); p2.setId(2); p2.setName("钱"); p2.setCreateDate(newDate(newDate().getTime()+8000)); list.add(p2); Peoplep3=newPeople(); p3.setId(3); p3.setName("孙"); p3.setCreateDate(newDate(newDate().getTime()+7000)); list.add(p3); Peoplep4=newPeople(); p4.setId(4); p4.setName("李"); p4.setCreateDate(newDate(newDate().getTime()+5000)); list.add(p4); Peoplep5=newPeople(); p5.setId(5); p5.setName("周"); p5.setCreateDate(newDate(newDate().getTime()+6000)); list.add(p5); for(Peoplep:list){ System.out.println(p.getId()); } //1,2,3,4,5 System.out.println("======================="); Collections.sort(list,newMyComparator()); //1,4,5,3,2 for(Peoplep:list){ System.out.println(p.getId()); } }
以上这篇List对象去重和按照某个字段排序的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。