对于value为集合的map,一般直觉上我们可能会选用下面的方式遍历map中所有collection的所有对象:
for(K key:map.keySet()){
for(V value:map.get(key)){
// do sth.
}
}
实际上,这种方式在第二行上会因为对哈希表的查询浪费效率,正确的做法应该这样:
for(List list:map.values()){
for(V o:list){
// do sth.
}
}
或者
for(Map.Entry> entry:map.entrySet()){
for(V o:entry.getValue()){
// do sth.
}
}
-- EOF --
除非注明(如“转载”、“[zz]”等),本博文章皆为原创内容,转载时请注明: 「转载自程序员的信仰©」
本文链接地址:遍历Map<K, Collection<V>>的正确方法
Today on history:
【2007】上路
【2006】记一笔
发表回复