黑马程序员技术交流社区

标题: 请问MAP集合里entryset和keyset 有什么区别? [打印本页]

作者: 任献东    时间: 2014-10-14 13:29
标题: 请问MAP集合里entryset和keyset 有什么区别?
  1. package 黑马练习;
  2. /*
  3. * MAP集合没有迭代器,可以转化为set集合  有两种取出方式
  4. */
  5. import java.util.Iterator;
  6. import java.util.Map;
  7. import java.util.Set;
  8. import java.util.TreeMap;

  9. public class Map_tDemo {

  10.         public static void main(String[] args) {
  11.            Map<Integer,String> map = new TreeMap<Integer, String>();
  12.            map.put(4, "lisi");
  13.            map.put(5, "wangwu");
  14.            map.put(6, "zhaoliu");
  15.            
  16.          Set<Integer> keyset = map.keySet();
  17.          Iterator<Integer> it = keyset.iterator();
  18.          while(it.hasNext()){
  19.                  int key = it.next();
  20.                  String value = map.get(key);
  21.                  
  22.                  System.out.println(key+":::"+value);
  23.          }
  24.          
  25.          Set<Map.Entry<Integer, String>> entryset = map.entrySet();
  26.          Iterator<Map.Entry<Integer, String>> it1 = entryset.iterator();
  27.          while(it1.hasNext()){
  28.                  Map.Entry<Integer, String> me = it1.next();
  29.                  int key = me.getKey();
  30.                  String value = me.getValue();
  31.                  System.out.println(key+":::::"+value);
  32.          }
  33.         }

  34. }
复制代码

结果是一样一样的呀  
作者: liqiaohui    时间: 2014-10-14 13:33
结果肯定一样   只是取出元素过程不一样   keyset是先取出键,再通过键取出值    entryset是得到映射关系,直接取出键和值
作者: LFW    时间: 2014-10-14 15:15
就跟老师说的一样。key夫,value妻,Map.Entry结婚证。通过keySet就是把所有key丈夫取出来,然后每个丈夫对应妻子value。或者,通过获得entryset,拿到所有夫妻的结婚证,每一张结婚证里自然就有对应的key丈夫和value妻子
作者: kakasa    时间: 2014-10-14 15:35
喜欢用哪个就用哪个,这个不用纠结吧
作者: 任献东    时间: 2014-10-14 16:49
LFW 发表于 2014-10-14 15:15
就跟老师说的一样。key夫,value妻,Map.Entry结婚证。通过keySet就是把所有key丈夫取出来,然后每个丈夫对 ...

简单明了 明白了  3Q




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