一、說明
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)); }