Java中怎么遍历HashMap


  一.

  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();得到值

  }

  二.

  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();

  }

  三.

  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来进行处理了,而不用在插入的时候去进行处理。

相关内容