如何将地图转换为java中的列表

时间:2016-04-29 04:02:13

标签: java arraylist collections hashmap

我有一个以运行时填充的格式的地图。

  Map<String, List<VerificationDetail>>

我想将其转换为List,以便Map中的所有值都填充在列表中。我尝试了很少接近,但无法使用地图中提供的所有详细信息填充列表。

2 个答案:

答案 0 :(得分:0)

嗯,这不是一个单行,但我想它确实起作用了!

// Map that has the details
Map<String, List<VerificationDetail>> map = new HashMap<>(1);

// Meanwhile some values are added to the map . . .

// The list where all your map values going to be inserted
List<VerificationDetail> allDetails = new ArrayList<>(1);

for (Map.Entry<String, List<VerificationDetail>> entry : map.entrySet()) {
    allDetails.addAll(entry.getValue());
}

答案 1 :(得分:0)

我可能回答得很晚,但这可以帮助其他人,java 8中有更好的方法可以做到这一点,

Map<String, List<VerificationDetail>> map = new HashMap<>();

List<VerificationDetail> combinedList = new ArrayList<VerificationDetail>();

map.values().forEach(o-> combinedList.addAll(o));

System.out.println(combinedList);