2 qixinbruce qixinbruce 于 2016.03.21 10:43 提问

java中map为什么不能直接使用iterator遍历?

求教大神:直接使用map的时候方法中不会显示iterator方法,而是要写Set set = map.keySet();才可以使用iterator方法,为什么map和set同为集合,map就不可以直接使用iterator方法?内部逻辑是什么?

4个回答

u014633019
u014633019   2016.03.21 11:07
已采纳

只有实现的collection集合才有iterator方法,比如List和se接口;而Map接口不能使用iterator方法,需要现获取set视图,即Set set = map.keySet();
set就可以使用了。

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.21 12:00
Map的遍历有两种方法,一种是遍历Set,另一种是通过Entry。没有迭代器这种方法的。
Royal_lr
Royal_lr   Ds   Rxr 2016.03.21 14:33

map和set以及list的结构不一样,,所以不能直接使用iterator遍历的,

qq_29816519
qq_29816519   2016.03.22 09:42

map存放的是一个个健值对,如果想遍历的话只有知道他的健才能得到他响应的值

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!