一、说明
List排序规则可分为如下:
1.自定义排序
2.使用Collections工具类进行排序
Collections支付三种排序
A.sort()默认排序(从小到大)
B.reverse()倒序(从大到小)
C.shuffle()随机排序
List排序大体上分为如下两类:
1、List对Integer、String等类型的List排序
2、List对自定义对象的排序
二、示例
(一)、升序
ListsortList = new ArrayList();
sortList.add(3);
sortList.add(1);
sortList.add(2);
sortList.add(9);
sortList.add(7);
Collections.sort(sortList);//默认排序(从小到大)
for(int i : sortList){
System.out.println("默认排序(从小到大)----" + i);
}
(二)、倒序
ListsortList = new ArrayList();
sortList.add(3);
sortList.add(1);
sortList.add(2);
sortList.add(9);
sortList.add(7);
Collections.reverse(sortList);//倒叙(从大到小)
for(int i : sortList){
System.out.println("倒叙(从大到小)----" + i);
}
(三)、随机
ListsortList = new ArrayList();
sortList.add(3);
sortList.add(1);
sortList.add(2);
sortList.add(9);
sortList.add(7);
Collections.shuffle(sortList); //随机排序
for(int i : sortList){
System.out.println("随机排序----" + i);
}
(四)、去重
//set集合去重,不打乱顺序
Listlist = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
Set set = new HashSet();
List newList = new ArrayList();
for (String cd:list) {
if(set.add(cd)){
newList.add(cd);
}
}
System.out.println( "去重后的集合: " + newList);
(五)、自定义排序
//自定义排序规则
MapsortMap = new HashMap();
sortMap.put("1", "A");
sortMap.put("2", "B");
sortMap.put("3", "C");
sortMap.put("4", "D");
sortMap.put("5", "E");
sortMap.put("6", "E");
sortMap.put("7", "E");
sortMap.put("8", "E");
sortMap.put("9", "E");
sortMap.put("10", "E");
sortMap.put("11", "E");
sortMap.put("12", "E");
sortMap.put("12", "F");
List> sortList = new ArrayList>();
sortList.sort(new Comparator>() {
@Override
public int compare(Mapo1, Mapo2) {
int randomOne = (int) (Math.random() * 10);
int randomTwo = (int) (Math.random() * 10);
return randomOne - randomTwo;
}
});
sortList.add(sortMap);
for (Map mps : sortList) {
System.out.println(JSON.toJSON(mps));
}