我正在寻找相应的方式,为 Multimap
, 迭代 Map
的条目,即:
Map<K,V> map = ...;
for (Map.Entry<K,V> entry : map.entrySet())
{
K k = entry.getKey();
V v = entry.getValue();
}
以下哪个更好? (或者更重要的是,有什么区别?)
Multimap<K,V> mmap = ...;
for (Map.Entry<K,Collection<V>> entry : mmap.asMap().entrySet())
{
K k = entry.getKey();
Collection<V> v = entry.getValue();
}
或
Multimap<K,V> mmap = ...;
for (K k : mmap.keySet())
{
Collection<V> v = mmap.get(k);
}
最佳答案
它们都是有效的;第二个往往更容易阅读(特别是因为您可以从 List
中获得实际的 ListMultimap
,依此类推),但第一个可能更有效(在一定程度上可能会或可能无关紧要)你)。
关于 Guava :迭代 Multimap 的键-> 集合条目的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6668574/