如何在日期的基础上对地图进行排序,其中地图的一个元素(值)是日期,我必须根据日期排序而不删除重复项。(JDK 1.7)
Map< String, String> hMap=new HashMap<String, String>();
添加所有元素后,hMap中的值
hMap.put("1","a")
hMap.put("2","b")
hMap.put("3","date");// here I can convert it to date by the help of SimpleDateFormat(yyyyMMdd).
答案 0 :(得分:0)
在Java 8中,您可以使用以下方法按值对地图进行排序:
DateFormat format = ...
hMap.entrySet().stream()
.sorted(Comparator.comparing(e -> format.parse(e.getValue())))
...
虽然你最好以Map<String,Date>
存储并在输入上而不是在排序期间进行解析。