java中怎么遍历HashMap

 我来答
匿名用户
2013-10-21
展开全部
一.
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来进行处理了,而不用在插入的时候去进行处理。
vortexchoo
2015-10-09 · TA获得超过543个赞
知道小有建树答主
回答量:501
采纳率:40%
帮助的人:89.6万
展开全部
  public static void main(String[] args) {
  Map map = new HashMap();
  map.put("a", "a");
  map.put("b", "b");
  map.put("c", "c");
  //a
  Iterator it = map.keySet().iterator();
  while(it.hasNext()){
  String key = (String) it.next();
  String val = (String) map.get(key);
  System.out.println("key="+key+";value="+val);
  }
  //b
  Set<Entry> array = map.entrySet();
  for(Entry e:array){
  String key = (String) e.getKey();
  String val = (String) e.getValue();
  System.out.println("key="+key+";value="+val);
  }
  }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式