gpt4 book ai didi

java - 如何使用 forEach 和 lambda 表达式迭代 MultivaluedMap

转载 作者:行者123 更新时间:2023-11-30 06:53:11 29 4
gpt4 key购买 nike

Java 8 允许迭代 Map使用 forEach和一个 lambda 表达式如下:

myMap.forEach((k, v)->{ System.out.println("Key: " + k + " Value: " + v); });

是否可以遍历 MultivaluedMap使用 forEach和 lambda 表达式?

更新

如何调用 foo与 2 String MultivaluedMap<String, String> 的参数?

myMultiMap.forEach((k, v)->{ foo(k, v); });

最佳答案

界面 MultivaluedMap<K, V> 扩展 Map<K,List<V>> 接口(interface),因此,有 forEach方法,并且可以使用它。

new MultivaluedHashMap<String, String>()
.forEach((String key, List<String> list)-> { ... });

我不知道你的foo方法确实如此,但我建议*考虑我的观点:

public <K, V> void foo(K key, V... values) { ... }

在这种情况下,你不需要写 inner forEach在 lambda 里面。
*(如评论中@Holder 所解释的那样是错误的)

所以,只有一种正确的方法:

map.forEach((k, l) -> l.forEach( v -> foo(k, v)));

关于java - 如何使用 forEach 和 lambda 表达式迭代 MultivaluedMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37832177/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com