SortUtil 物件屬性排序類
阿新 • • 發佈:2019-02-01
關於物件屬性之間的排序:
比如 Person 中 年齡的倒序排序 就需要使用這個:
package com.test.util; import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; import java.util.List; public class SortUtil { private SortUtil (){}; private static SortUtil sortUtil=null; public static SortUtil getInstance(){ if(sortUtil==null){ sortUtil=new SortUtil(); } return sortUtil; } /** * 排序(降序 )的 方法 並 擷取掉 大於10 的 資料 餅形圖 */ public LinkedList<BotNet> sort(LinkedList<BotNet> listTemp){ // 升序 排列 Collections.sort( listTemp, new Comparator<BotNet>(){//list @Override public int compare(BotNet b1, BotNet b2) { if(b1.getNu()>b2.getNu())return -1; else if(b1.getNu()<b2.getNu())return 1; else return 0; } }); if(listTemp.size()>5){ LinkedList<BotNet> temp = new LinkedList<BotNet>(); for(int i=0;i<=4;i++){ temp.add(listTemp.get(i)); } listTemp=temp; } return listTemp; } /** * 排序(降序 )的 方法 並 擷取掉 大於10 的 資料 餅形圖 */ public LinkedList<BotNet> descSort7(LinkedList<BotNet> listTemp){ // 升序 排列 Collections.sort( listTemp, new Comparator<BotNet>(){//list @Override public int compare(BotNet b1, BotNet b2) { if(b1.getNu()>b2.getNu())return -1; else if(b1.getNu()<b2.getNu())return 1; else return 0; } }); if(listTemp.size()>7){ LinkedList<BotNet> temp = new LinkedList<BotNet>(); for(int i=0;i<=6;i++){ temp.add(listTemp.get(i)); } listTemp=temp; } return listTemp; } /** * 排序(降序 )的 方法 並 擷取掉 大於10 的 資料 餅形圖 */ public LinkedList<BotNet> descSort10(LinkedList<BotNet> listTemp){ // 升序 排列 Collections.sort( listTemp, new Comparator<BotNet>(){//list @Override public int compare(BotNet b1, BotNet b2) { if(b1.getNu()>b2.getNu())return -1; else if(b1.getNu()<b2.getNu())return 1; else return 0; } }); if(listTemp.size()>10){ LinkedList<BotNet> temp = new LinkedList<BotNet>(); for(int i=0;i<=9;i++){ temp.add(listTemp.get(i)); } listTemp=temp; } return listTemp; } /** * 排序(降序 )的 方法 並 擷取掉 大於10 的 資料 餅形圖 */ public LinkedList<BotNet> descSortPager(LinkedList<BotNet> listTemp,int pagerNumber ,int pagerSize){ // 升序 排列 Collections.sort( listTemp, new Comparator<BotNet>(){//list @Override public int compare(BotNet b1, BotNet b2) { if(b1.getNu()>b2.getNu())return -1; else if(b1.getNu()<b2.getNu())return 1; else return 0; } }); int all = pagerNumber*pagerSize; int startIndex = (pagerNumber-1)*pagerSize; int endIndex = pagerNumber*pagerSize -1; if(pagerNumber == 1 && listTemp.size() <= pagerSize){ return listTemp; } if(pagerNumber >1 && listTemp.size()<=all){ LinkedList<BotNet> list = new LinkedList<BotNet>(); for(int i=startIndex;i<listTemp.size();i++){ list.add(listTemp.get(i)); } listTemp = list; } if(pagerNumber >1 && listTemp.size()>all){ LinkedList<BotNet> list = new LinkedList<BotNet>(); for(int i=startIndex;i<=endIndex;i++){ list.add(listTemp.get(i)); } listTemp = list; } return listTemp; } /** * 排序(降序 )的 方法 、首頁右側地圖 資料 */ public LinkedList<BotNet> sort2(LinkedList<BotNet> listTemp){ // 升序 排列 Collections.sort( listTemp, new Comparator<BotNet>(){//list @Override public int compare(BotNet b1, BotNet b2) { if(b1.getNu()>b2.getNu())return -1; else if(b1.getNu()<b2.getNu())return 1; else return 0; } }); return listTemp; } }