已有258人关注
集合问题
发表在Java答疑区 2017-04-28
是否精华
版块置顶:

Set<String> set = map.keySet(); // 构建Map集合中所有key对象的集合
  Iterator<String> it = set.iterator();


Map<String,String> map = new HashMap<>(); // 创建Map实例
  map.put("01", "李同学"); // 向集合中添加对象
  map.put("02", "魏同学");
  Set<String> set = map.keySet(); // 构建Map集合中所有key对象的集合


为什么Set接口中并没有像Map接口中用了实现类,而去还能用set这个变量调用iterator这个方法?

分享到:
精彩评论 3
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-04-28
沙发

从Java API(http://docs.oracle.com/javase/8/docs/api/)可知,map对象可通过调用keySet()方法获得存储键(Key)的Set集合。而在Set中,并没有相应的方法可以返回集合。

xzx徐中祥
学分:77 LV3
2017-04-28
板凳

David 发表于2017-04-28 14:58

从Java API(http://docs.oracle.com/javase/8/docs/api/)可知,map对象可通过调用keySet()方法获得存储键(Key)的Set集合。而在Set中,并没有相应的方法可以返回集合。

老师,这个set.iterator()是如何调用呢?这个set并没有实现类,只是一个接口变量,而接口中的方法都是抽象方法,不能调用啊,调用了也没有意义

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-04-28
地板

因为map.keySet()返回的是Set集合,所以等号的左右两端为Set<String> set = map.keySet();,这样就成功创建了Set集合的对象set,有了Set集合的对象set,就能够使用set.iterator()创建Iterator的对象了。

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照