java中map为什么不能直接使用iterator遍历?
问题描述:
求教大神:直接使用map的时候方法中不会显示iterator方法,而是要写Set set = map.keySet();才可以使用iterator方法,为什么map和set同为集合,map就不可以直接使用iterator方法?内部逻辑是什么?
答
只有实现的collection集合才有iterator方法,比如List和se接口;而Map接口不能使用iterator方法,需要现获取set视图,即Set set = map.keySet();
set就可以使用了。
答
Map的遍历有两种方法,一种是遍历Set,另一种是通过Entry。没有迭代器这种方法的。
答
map和set以及list的结构不一样,,所以不能直接使用iterator遍历的,
答
map存放的是一个个健值对,如果想遍历的话只有知道他的健才能得到他响应的值