私はつまり、Map
のエントリを反復するために、Multimap
ため、対応する方法を探しています:優れている、以下のguava:Multimapのkey-> collectionエントリを反復処理する最良の方法は?
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);
}
最初のアプローチがより効率的な理由を説明できますか? – user482594