GD Star Rating
loading...
loading...
对于value为集合的map,一般直觉上我们可能会选用下面的方式遍历map中所有collection的所有对象:
for(K key:map.keySet()){
for(V value:map.get(key)){
// do sth.
}
}
实际上,这种方式在第二行上会因为对哈希表的查询浪费效率,正确的做法应该这样:
- for(List<v> list:map.values()){
- for(V o:list){
- // do sth.
- }
- }
for(List<v> list:map.values()){
for(V o:list){
// do sth.
}
}或者
- for(Map.Entry<k,List<v>> entry:map.entrySet()){
- for(V o:entry.getValue()){
- // do sth.
- }
- }
for(Map.Entry<k,List<v>> entry:map.entrySet()){
for(V o:entry.getValue()){
// do sth.
}
}原创内容,转载请注明: 转载自拈花微笑
本文链接地址: 遍历Map<K, Collection<V>>的正确方法
