题目
What’s the best way to iterate over the items in a HashMap?
解答
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class stackoverFlow {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<Object,Object> map = new HashMap<Object,Object>();
map.put(1, 1);
map.put(2, 2);
map.put(3, 3);
// 通过迭代器访问map中的元素
Set<Entry<Object, Object>> entrys = map.entrySet();
Iterator iterator = entrys.iterator();
while(iterator.hasNext()){
Entry<Object,Object> entry = (Entry<Object, Object>) iterator.next();
System.out.println("key:" + entry.getKey() + " value:"+entry.getValue());
}
// 通过forEach访问map中的元素
for( Entry<Object, Object> entry:entrys){
System.out.println("key:" + entry.getKey() + " value:"+entry.getValue());
}
// 访问key
Set<Object> keys = map.keySet();
for(Object key:keys){
System.out.println("key: "+key);
}
// 访问 value
Collection<Object> values = map.values();
for(Object value:values){
System.out.println("value: "+value);
}
}
}
本专题来源stackoverflow 标签是java的投票数比较高的问题以及回答,我只对上面的回答根据自己的理解做下总结。