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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柴乔军 中级黑马   /  2013-1-20 17:25  /  1378 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.Collection;
  2. import java.util.HashMap;
  3. import java.util.Iterator;
  4. import java.util.Map;
  5. import java.util.Set;


  6. public class Test{

  7. public static void main(String[] args) {

  8. Map<String,Integer> map = new HashMap<String,Integer>();

  9. map.put("1", 1);
  10. map.put("2", 2);
  11. map.put("3", 3);
  12. map.put("4", 4);

  13. work(map);

  14. workByKeySet(map);

  15. workByEntry(map);

  16. }


  17. //最常规的一种遍历方法

  18. public static void work(Map<String, Integer> map) {
  19. Collection<Integer> c = map.values();
  20. Iterator it = c.iterator();
  21. for (; it.hasNext();) {
  22. System.out.print(it.next());
  23. }
  24. System.out.println();
  25. }

  26. //利用keyset进行遍历

  27. public static void workByKeySet(Map<String, Integer> map) {
  28. Set<String> key = map.keySet();
  29. for (Iterator it = key.iterator(); it.hasNext();) {
  30. String s = (String) it.next();
  31. System.out.print(map.get(s));
  32. }
  33. System.out.println();
  34. }

  35. //第三种

  36. public static void workByEntry(Map<String, Integer> map) {
  37. Set<Map.Entry<String, Integer>> set = map.entrySet();
  38. for (Iterator<Map.Entry<String, Integer>> it = set.iterator(); it.hasNext();) {
  39. Map.Entry<String, Integer> entry = (Map.Entry<String, Integer>) it.next();
  40. System.out.print("!!!!!" + entry.getKey() + "-------" + entry.getValue());
  41. }
  42. System.out.println();
  43. }
  44. }
复制代码
结果:
3214
3214
!!!!!3-------3!!!!!2-------2!!!!!1-------1!!!!!4-------4

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

1 个回复

倒序浏览
我再添加一种遍历方法:JDK1.5中,应用新特性For-Each循环

//第四种 通过Map.values()遍历所有的value,但不能遍历key
  for (String v : map.values()) {
   System.out.println("value= " + v);
  }

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马