怎么理解Foreach中Set接口类型的entrySet作为Map.Entry接口类型的方法输出?

怎么理解Foreach中Set接口类型的entrySet作为Map.Entry接口类型的方法输出?

		// 使用EntrySet同时获取key和value
		System.out.println("使用EntrySet输出:");
		Set<Map.Entry<Integer,String>> entrySet =football.entrySet();
		for (Map.Entry<Integer, String> entry : entrySet) {
			System.out.println(entry.getKey()+"-"+entry.getValue());
		}


正在回答

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

2回答

是的,同学理解的没错。

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

如上图所示,这个entrySet方法的返回值就是Set<Map.Entry<k,v>>,类型的,至于为什么,这个就是底层的封装了,同学这里记住就好。

当foreach遍历的时候,就是在遍历这个set集合,这个set集合中存的都是Map.entry<k,v> 类型的。

所以遍历出来就是Map.entry<k,v> 类型的。


提问者 慕哥5118177 2019-04-21 00:23:19

是因为这个Set接口类型的对象被泛型规定为Map.Entry接口类型,所以可以把这个entry作为Map.Entry接口对象吗?

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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