如何迭代

List<Map<String, String>>

使用流..我尝试没有流,我能够进行迭代。
for (Map<String, String> temp1 : maps){
                    for(Map.Entry<String, String> temp2: temp1.entrySet())

有没有一种方法可以使用Streams进行迭代。

最佳答案

如果要使用流,则可以根据要实现的值遍历值,keySet,entrySet ::。您需要指定所需的内容。

下面的一些代码示例:

List<HashMap<String, String>> lm = new ArrayList<HashMap<String, String>>();

HashMap<String, String> m1 = new HashMap<String, String>();
HashMap<String, String> m2 = new HashMap<String, String>();

m1.put("k1", "v1-m1");
m1.put("k2", "v2-m1");
m1.put("k3", "v3-m1");

m2.put("k1", "v1-m2");
m2.put("k3", "v1-m2");
m2.put("k3", "v1-m2");

lm.add(m1);
lm.add(m2);


lm.stream().forEach(e-> e.values().stream().forEach(ex-> System.out.println(ex)));

/给出输出:
v1-m1
v2-m1
v3-m1
v1-m2
v1-m2

09-11 18:10
查看更多