我记得当时在Oracle面试时,面试人问我一个HashMap有几种访问方式,我答有两种:一种通过key,另一种是通过Entry。今天总结一下这两种遍历的方式。
[b]1. 最基本的get(Object key)方法[/b]
[b]2. 常用的KeySet()方法[/b]
[b]3. 容易被遗忘的entrySet()方法[/b]
[b]4. 总被人问的哪种方式效率高的问题[/b]
entrySet()的效率高,因为它只取一次。
[b]1. 最基本的get(Object key)方法[/b]
HashMap map=new HashMap();
map.put("name", "test1");
map.put("age", 19);
System.out.println(map.get("name")+"\t"+map.get("age"));
System.out.println("=======================");
[b]2. 常用的KeySet()方法[/b]
Set set=map.keySet();
Iterator it=set.iterator();
while(it.hasNext()){
Object key=it.next();
System.out.println(key+"\t"+map.get(key));
}
System.out.println("======================");
[b]3. 容易被遗忘的entrySet()方法[/b]
Set entry=map.entrySet();
it=entry.iterator();
while(it.hasNext()){
Entry e=(Entry) it.next();
System.out.println(e.getKey()+"\t"+e.getValue());
}
[b]4. 总被人问的哪种方式效率高的问题[/b]
entrySet()的效率高,因为它只取一次。