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;
}
});
}ide