SortUtil 对象属性排序类

来源:互联网 发布:云数据库的好处 编辑:程序博客网 时间:2024/05/17 06:51

关于对象属性之间的排序:

比如 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;    }        }