A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 发哥-阿花 于 2013-11-6 17:10 编辑

有时一个小问题,自己就被弄死了,各位帮找找,希望真的是小问题。


  1. import java.util.*;
  2. class MapTest4
  3. {
  4. public static void main(String[] args)
  5. {
  6. Map<String,Integer> m = new TreeMap<String,Integer>();
  7. Set<Map.Entry<String,Integer>> setentry= m.entrySet();
  8. Iterator<Map.Entry<String,Integer>> it =setentry.iterator();
  9. m.put("abc01",1);
  10. m.put("abc02",2);
  11. m.put("abc03",3);
  12. m.put("abc04",4);

  13. while(it.hasNext())
  14. {
  15. Map.Entry<String,Integer> me = it.next();
  16. String str = me.getKey();
  17. Integer i = me.getValue();
  18. System.out.println(str);
  19. }
  20. /*
  21. System.out.println(m);
  22. 运行输出{abc01=1, abc02=2, abc03=3, abc04=4}
  23. System.out.println(setentry);
  24. 运行输出{abc01=1, abc02=2, abc03=3, abc04=4}
  25. */
  26. System.out.println(it.next());

  27. //提示NoSuchElementException (没有元素可以迭代)。



  28. }
  29. }

复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

5 个回复

倒序浏览
语句书写的顺序,逻辑不对吧,楼主
07行,08行,在把map集合中的元素往set中装的时候,此时map集合里啥都没有啊,你在12、13行后面并没有重新制定set集合和Iterater迭代器啊,那你迭代的时候肯定啥都没有呀!
你把07,08行写到12行以后,14行之前这样不就OK了吗。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
李慧声 发表于 2013-11-6 17:02
语句书写的顺序,逻辑不对吧,楼主
07行,08行,在把map集合中的元素往set中装的时候,此时map集合里啥都没 ...

{:3_50:}{:3_46:}{:3_49:}

就说嘛,真的是小问题,丢人了啊,浪费了一下午时间。HashMap,TreeMap什么都用遍了。谢谢啊
回复 使用道具 举报
发哥-阿花 发表于 2013-11-6 17:10
就说嘛,真的是小问题,丢人了啊,浪费了一下午时间。HashMap,TreeMap什么都 ...

呵呵 这很值得啊 以后就不会出现这样的错误
回复 使用道具 举报
李慧声 发表于 2013-11-6 17:17
呵呵 这很值得啊 以后就不会出现这样的错误

嗯嗯,
你是想进27期吗?求认识
回复 使用道具 举报
发哥-阿花 发表于 2013-11-6 17:48
嗯嗯,
你是想进27期吗?求认识

啊啊,云7期,不走android
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马