java中怎么遍历hashmap?
一.
hashmapstaff=newHashMap();
添加关键字值对,自己写
遍历
Setentries=staff.entrySet();
Iteratoriter=entries.iterator();
while(iter.hasNext())
{
Map.Entryentry=(Map.Entry)iter.next();
Objectkey=entry.getKey();得么关键字
Objectvalue=entry.getValue();得到值
}
二.
Mapmap=newHashMap();
for(Iteratoriter=map.entrySet().iterator();iter.hasNext();){
Map.Entryentry=(Map.Entry)iter.next();//map.entry同时取出键值对
Objectkey=entry.getKey();
Objectval=entry.getValue();
}
三.
Mapmap=newHashMap();
for(Iteratoriter=map.keySet().iterator();iter.hasNext();){
Objectkey=iter.next();
Objectval=map.get(key);
}
Iterator是迭代器
对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。
而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。
对于我们做web的,可能不部分都是用vo对象或是form封装信息,所以用到hashmap时,其内存放的都是上面的对象。因此使用entryset遍历性能会有所提高。
hashmap使用很多,比如导入信息时就要用到,因大部分导入的信息要去判断是否有重复的信息,这样就可以利用containsKey来进行处理了,而不用在插入的时候去进行处理。