关于entrySet()的返回类型

关于entrySet()的返回类型

Iterator<Entry<Integer,String>> it = worldCup.entrySet().iterator();
        while(it.hasNext()){
            Entry entry = it.next();
            System.out.println(entry.getKey()+" - "+entry.getValue());
        }

entrySet()的返回类型是HashMap$EntrySet

Entry是Map中的一个内部接口

EntrySet是HashMap中实现Entry接口的内部类

我的理解正确吗?

正在回答

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

2回答

同学你好,非常抱歉之前是老师失误,没有正确理解同学的意思,导致回答有些小问题。

    这里可以这样理解:entrySet()方法返回的是一个特殊的Set,是HashMap的内部私有类。

http://img1.sycdn.imooc.com//climg/5f2f9f5109cb330807180350.jpg

而AbstractSet实现了Set接口,所以最后以Set类型来接收。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕小班 2020-08-09 11:19:58

同学你好,1、entrySet方法的返回值类型是Set,比如:

http://img1.sycdn.imooc.com//climg/5f2f69ea0942539c03870126.jpg

    2、Entry是Map中的一个内部接口,同学的说法是正确的。

    3、EntrySet是HashMap中的一个内部私有类。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 能掐会算 #1
    set不是一个接口嘛?实际的类型是什么呢
    2020-08-09 11:41:00
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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