技巧累积篇
1.对象List按照对象某属性排序
Collections.sort(dataList, new Comparator(){
public int compare(RealTimeNumericDataEntity o1, RealTimeNumericDataEntity o2) {
//按照RealTimeNumericDataEntity的value字段进行降序排列
if(o1.getValue() .compareTo(o2.getValue()) < 0){
return 1;
}
if(o1.getValue() .compareTo(o2.getValue()) == 0){
return 0;
}
return -1;
}
});
2.HashMap排序
2.1 JDK1.8的HashMap排序
Map<Object, Object> testMap = new HashMap();
...(一些对象,或者基本数据类型)
testMap.put(object1, object2);
testMap.put(object3, object4);
testMap.put(object5, object6);
Map<Object, Object> resultMap = new LinkedHashMap<>();
dataMap.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
上述代码是按照Map的Key做升序排列,Key可以是数值,字符串,日期等类型,不需要做额外转换;字符串没做测试,但猜测是按ASCLL码值来做排序。