在Java中将地图映射转换为地图列表

时间:2018-09-17 04:22:48

标签: java list maps java-stream

我有一个Java地图,

Map<Date, Map<String, Integer>> dateTeamCountMap;

我想转换上面给出值的地图

{28-09-2018={India=14,Australia=16}, 31-09-2018={India=13,Australia=11}}

进入格式的对象列表

{{Date:28-09-2018, India:14, Australia:26},{Date:31-09-2018, India:13, Australia:11}}

对不起,这是stackoverflow的新手。如果错误,请更正我的问题。谢谢。

我无法创建通用列表,因为我总是不知道球队的数量。

1 个答案:

答案 0 :(得分:1)

这样的事情怎么样?

ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
dateTeamCountMap.forEach((date, nestedMap) -> {
    Map<String, String> temp = new HashMap<String, String>();
    temp.put("Date",date);
    nestedMap.forEach((team, count) -> {
        temp.put(team,count);
    });
    list.add(temp);
});

如果您有一个表示{Date:28-09-2018, India:14, Australia:26}的类,那么您也可以创建List<YourClass>