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