如何在日期基础上对地图<string,string =“”>进行排序,其中地图的一个元素(值)是日期?

时间:2016-03-28 10:50:34

标签: java sorting collections

如何在日期的基础上对地图进行排序,其中地图的一个元素(值)是日期,我必须根据日期排序而不删除重复项。(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).

1 个答案:

答案 0 :(得分:0)

在Java 8中,您可以使用以下方法按值对地图进行排序:

DateFormat format = ...
hMap.entrySet().stream()
    .sorted(Comparator.comparing(e -> format.parse(e.getValue())))
    ...

虽然你最好以Map<String,Date>存储并在输入上而不是在排序期间进行解析。