关于对象属性之间的排序:
比如 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;
}
}