一、说明

 

List排序规则可分为如下:

1.自定义排序
2.使用Collections工具类进行排序
Collections支付三种排序
A.sort()默认排序(从小到大)
B.reverse()倒序(从大到小)
C.shuffle()随机排序

List排序大体上分为如下两类:

1、List<Integer> 对Integer、String等类型的List排序
2、List<Object> 对自定义对象的排序

二、示例

 

(一)、升序

List<Integer> sortList = new ArrayList<Integer>();
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);
}

(二)、倒序

List<Integer> sortList = new ArrayList<Integer>();
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);
}

(三)、随机

List<Integer> sortList = new ArrayList<Integer>();
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集合去重,不打乱顺序
List<String> list = new ArrayList<String>();
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);

(五)、自定义排序

//自定义排序规则
Map<String,Object> sortMap = new HashMap<String,Object>();
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<Map<String,Object>> sortList = new ArrayList<Map<String,Object>>();
sortList.sort(new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
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));
}

————————————————
版权声明:本文为CSDN博主「码农致富」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011781521/article/details/80124896