4-3问题:

4-3问题:

Set<Entry<String,String>> entrySet=animal.entrySet();


这段代码:

首先 animal.entrySet() 是HashMap类中的方法,  但是它的返回类型是Entry 类,而Entry类的父类是Set,(Set不是接口吗,怎么类的父类是一个接口?) ; 

而Entry 中对应的是 key和value ,所以泛型这样设置,

我这样理解对吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿园 2021-01-18 09:59:37

同学你好

1、可以理解成是Set集合中存放的是Entry类型,而Entry是属于Map下的一个接口,就比如,Set<String>,这里指的是Set集合中存放的是String类型的数据,而String是Object类的子类,这两个并不冲突,所以同学不要混淆了哦

2、同学的理解是正确的

祝学习愉快~

  • 提问者 rock221 #1

    entrySet () 返回的是Set,所以需要Set来接收,  也就是Set = XXXXXX;

    然后entry 对应的是 Entry这个类,所以泛型里<Entry>, 在深入进去,就是Entry是存放key,value的,所以是<String,Syring>, 我这样理解对吗?

    2021-01-18 13:08:51
  • 好帮手慕阿园 回复 提问者 rock221 #2

    同学你好,这样理解是可以的

    祝学习愉快~

    2021-01-18 13:55:29
好帮手慕阿园 2021-01-17 17:52:57

同学你好,entrySet()返回的是set集合,而set集合中有一个entry,而Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set

是的,entry中有key和value

祝学习愉快~

  • 提问者 rock221 #1

    既然Entry 是Map中的一个接口, 为啥不是  Map<Entry<String,String>> entrySet=animal.entrySet();​??


    Set集合中有entry这个类?

    Map集合中有entry这个接口? 有点晕

    2021-01-17 17:55:12
  • 好帮手慕阿园 回复 提问者 rock221 #2

    同学你好,这里是entrySet()方法的返回值类型是set,这里是需要遍历map,而如果返回值还是map,这个方法便没有意义

    Set<Entry<String,String>> 表示Set中存放的是 <Entry<String,String>> 类型的对象,而这个entry是个key和value的形式,这里的<Entry<String,String>> 表示的是泛型,同学不要将他理解的复杂了,这样的形式跟Set<String>写法是一样的

    而Map.Entry 是Map中的一个接口,是如下意思

    http://img1.sycdn.imooc.com//climg/60040d0a09f55e7704490272.jpg

    这里是遍历map的一种方式,同学可以暂时先记住如何使用,等使用的多了就会明白了

    祝学习愉快~

    2021-01-17 18:36:38
  • 提问者 rock221 回复 好帮手慕阿园 #3

    老师, Set下有个Entry 类, 那么 Map下也有个Map.Entry接口, 是吗? 如果返回的值是set,那么赋值的话肯定就是set<Entry<String,String>>;对吗? 


    2021-01-17 19:05:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师