list排序


list本身是有顺序的,list的顺序就是插入顺序

(1)如果按对象的某个值排序,如id或name,可用如下方法

Collections.sort(rlist, (r1,r2) -> r1.getId().compareTo(r2.getId()));

注:compareTo比较的对象可以是Integer类型,不能是int类型

(2)如果按对象的某种类型排序(有限个数的类型),如type,可用如下方法

 private List<Project> sortProject(List<Project> plist) {

 		List<Project> p1 = new ArrayList<>();

     	List<Project> p2 = new ArrayList<>();

     	List<Project> p3 = new ArrayList<>();

       	List<Project> rlist = new ArrayList<>();

     	Collections.sort(plist, (r1,r2) -> r1.getId().compareTo(r2.getId()));
    
      	plist.forEach(p -> {

  				if(p.getType().equalsIgnoreCase("pro1")) {

              			p1.add(p);

          		}else if(p.getType().equalsIgnoreCase("pro2")) {

             			p2.add(p);

        		 }else {

              			p3.add(p);

          		 }

        });

       rlist.addAll(p1);

       rlist.addAll(p2);

       rlist.addAll(p3);

		return rlist; 

  }

以上排序思路为先按类型分别插入数组,再按顺序把小数组插入大数组;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM