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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马上都有 中级黑马   /  2014-4-16 22:45  /  927 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Set<Entry<String, Integer>> entryset=entry.entrySet();
                  for(Entry<String, Integer> ent:entryset){
                          System.out.println(ent);

Set<Map.Entry<String, Integer>> entryset=entry.entrySet();
                  for(Map.Entry<String, Integer> ent:entryset){
                          System.out.println(ent);

点评

毕老师视频里讲的很详细.望楼主再仔细听一遍  发表于 2014-4-17 08:47

5 个回复

正序浏览
如果只是为了遍历, 那用这么麻烦, 你问我什么是遍历? 就是把集合里的对象取出来, 使用高级for()循环轻松搞定
  1. import java.util.HashMap;
  2. import java.util.Map;

  3. public class SunJingQi {

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

  5.                 HashMap<Integer, String> hm = new HashMap<Integer, String>();

  6.                 hm.put(01, "孙旌棋");
  7.                 hm.put(02, "孙旌棋");
  8.                 hm.put(03, "孙旌棋");

  9. //                Set<Integer> keySet = hm.keySet();
  10. //                for (Integer i : keySet) {

  11.                 for (Integer i : hm.keySet()) {
  12.                         System.out.println(i + "=" + hm.get(i));
  13.                 }

  14. //                Set<Map.Entry<Integer, String>> entrySet = hm.entrySet();
  15. //                for (Map.Entry<Integer, String> me : entrySet) {

  16.                 for (Map.Entry<Integer, String> me : hm.entrySet()) {
  17.                         System.out.println(me.getKey() + "=" + me.getValue());
  18.                 }

  19.         }
  20. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这个是第二种, 把映射关系存到集合里, 然后取出来, 你问什么是映射关系, 就好像是户口本一样, 我只要拿到户口本, 就知道谁跟谁结婚了一样, 这就是映射关系
  1. import java.util.HashMap;
  2. import java.util.Iterator;
  3. import java.util.Map;
  4. import java.util.Set;

  5. public class SunJingQi {
  6.         public static void main(String[] args) {

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

  8.                 map.put("01", "孙旌棋");
  9.                 map.put("02", "孙旌棋");
  10.                 map.put("03", "孙旌棋");

  11.                 // 取出 Map集合的映射关系,存入到Set集合
  12.                 Set<Map.Entry<String, String>> entrySet = map.entrySet();

  13.                 for (Iterator<Map.Entry<String, String>> it = entrySet.iterator(); it.hasNext();) {

  14.                         Map.Entry<String, String> me = it.next();
  15.                         String key = me.getKey();
  16.                         String value = me.getValue();
  17.                         sop(key + "=" + value);

  18.                 }
  19.         }

  20.         public static void sop(Object obj) {
  21.                 System.out.println(obj);
  22.         }

  23. }
复制代码
回复 使用道具 举报
这个是第一种方法, 原理就是把所有的key存到集合里, 然后通过键去到所有的值
  1. import java.util.HashMap;
  2. import java.util.Iterator;
  3. import java.util.Map;
  4. import java.util.Set;

  5. public class SunJingQi {
  6.         public static void main(String[] args) {

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

  8.                 map.put("01", "孙旌棋");
  9.                 map.put("02", "孙旌棋");
  10.                 map.put("03", "孙旌棋");

  11.                 // 先获取Map集合的所有键的Set集合
  12.                 Set<String> keySet = map.keySet();

  13.                 // 有了Set集合,就可以获取其迭代器
  14.                 for (Iterator<String> it = keySet.iterator(); it.hasNext();) {

  15.                         String key = it.next();
  16.                         String value = map.get(key);
  17.                         sop(key + "=" + value);

  18.                 }

  19.         }

  20.         public static void sop(Object obj) {
  21.                 System.out.println(obj);
  22.         }

  23. }
复制代码

回复 使用道具 举报
  1. Set<Entry<String, Integer>> entryset=entry.entrySet();
  2.                   for(Entry<String, Integer> ent:entryset){
  3.                           System.out.println(ent);
复制代码
没有这个方法把,entrySet方法返回的是包含映射关系的set集合,映射关系是用Map.Entry<K,V>来表示的,你去查下API,只有Map.Entry<K,V>,而没有Entry<K,V>,所以Entry<K,V>是不能放到set集合中的,他不能代表映射关系,我是这么认为的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马