黑马程序员技术交流社区

标题: [已解决]map集合输出 [打印本页]

作者: 黑马-李勇    时间: 2012-8-17 15:16
标题: [已解决]map集合输出
本帖最后由 黑马-李勇 于 2012-8-17 15:45 编辑

//Map集合
  Map<String,String> m=new HashMap();
   m.put("02","zhangshan");
   m.put("03","zhangshan");
   m.put("01","zhangshan");
   //Map可以打印
   System.out.println(m);
//取出方式
  //获取set集合的所有key
  Set<String> keyset=m.keySet();
  //迭代器
  Iterator<String> mapsetit=keyset.iterator();
  while(mapsetit.hasNext())
  {
   //获取key
   String key=mapsetit.next();
   //获取value
   String value=m.get(key);
   //System.out.println("key="+key+"  "+"value="+value);
   
   //System.out.println(key);为什么这句可以输出。
   //System.out.println(mapsetit.next());这句就不可以?

错误:
02
Exception in thread "main" java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at lianxi.dg.collectiondemo.main(collectiondemo.java:77)
为什么会报没有元素?
晕了,.next()是返回下一个元素。
作者: 黑马-郑鹏    时间: 2012-8-17 15:24
  while(mapsetit.hasNext())
   {
    //获取key
    String key=mapsetit.next();
    //获取value
    String value=m.get(key);
    //System.out.println("key="+key+"  "+"value="+value);
   
    //System.out.println(key);
    //System.out.println(mapsetit.next());//当循环遍历到最后一个时,mapsetit.next()就超过了






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2