public static void main(String[] args) {
//注意:空null 值会影响比较 //1.List集合比较(排序): Map<String,Object> p1 = new HashMap<String,Object>(); p1.put("courseCode", "001"); p1.put("courseName", "哈哈"); Map<String,Object> p2 = new HashMap<String,Object>(); p2.put("courseCode", "002"); p2.put("courseName", "嘻嘻"); Map<String,Object> p3 = new HashMap<String,Object>(); p3.put("courseCode", "003"); p3.put("courseName", "呵呵"); List<Map<String, Object>> array = new ArrayList<Map<String,Object>>(); //array.add(null); array.add(p1); array.add(p3); array.add(p2); array.add(p1); array.add(p3); array.add(p2); //array.add(null); array.add(p1); array.add(p3); array.add(p2); array.add(p2); //array.add(null); array.add(p2); long startTime = System.currentTimeMillis(); Collections.sort(array, new Comparator<Map<String,Object>>() { @Override public int compare(Map<String, Object> map1, Map<String, Object> map2) { if(MapUtils.isNotEmpty(map1) && MapUtils.isNotEmpty(map2)){ String courseCode1 = (String) map1.get("courseCode"); String courseCode2 = (String) map2.get("courseCode"); return courseCode1.compareToIgnoreCase(courseCode2); } return 0; } }); long endTime = System.currentTimeMillis(); System.out.println("耗时"+(endTime - startTime)+"毫秒"); for (Map<String, Object> map : array) { System.out.println(map); } //2.Map集合比较(排序): Map<String,String> sortMap = new TreeMap<String,String>(new Comparator<String>() { @Override public int compare(String s1, String s2) { if(StringUtils.isNotBlank(s1) && StringUtils.isNotBlank(s2)){ return s1.compareTo(s2); } return 0; } }); }