java中怎么遍历HashMap

1.

HashMap staff = new HashMap();

添加关键字值对,自己写遍历

Set entries = staff.entrySet();

Iterator iter = entries.iterator();

while(iter.hasNext())

{

Map.Entry entry = (Map.Entry)iter.next();

Object key = entry.getKey();//得到键

Object value = entry.getValue();//得到值

}

2.

Map map = new HashMap();

for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) {

Map.Entry entry = (Map.Entry) iter.next(); //map.entry 同时取出键值对

Object key = entry.getKey();

Object val = entry.getValue();

}

3.

Map map = new HashMap();

for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {

Object key = iter.next();

Object val = map.get(key); //取出键对应的值

}

Iterator是迭代器

对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。

而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。

对于我们做web的,可能不部分都是用vo对象或是form封装信息,所以用到hashmap时,其内存放的都是上面的对象。因此使用entryset遍历性能会有所提高。

hashmap使用很多,比如导入信息时就要用到,因大部分导入的信息要去判断是否有重复的信息,这样就可以利用containsKey来进行处理了,而不用在插入的时候去进行处理。


你可能感兴趣的:(java中怎么遍历HashMap)