java迭代器可以遍历map吗
2个回答
展开全部
刚才回顾了一下:(JDK1.7以前,含1.7)
可以迭代,但是不能直接迭代,Map集合没有迭代器,也没有实现什么迭代器接口!
这个只是迭代方式1:
迭代器是针对单列集合:Collection使用的,既:List与Set旗下小弟使用!
Map集合可以返回一个Set集合,里面都是键Key
既然可以返回一个Set集合,那么就可以拿迭代器对这个Set集合进行迭代,迭代Set集合同时
间接就可以获取Map的value项,达到迭代Map的目的!
还有第二种方式也可以迭代:
Map集合也可以返回一个Map.Entry(映射项)对象,这个玩意也被封装在一个Set集合中
这个玩意有自己的内部方法,也可以直接获取键值,以达到迭代目的!
提示一下:(JDK1.8开始增加了Map.froEach,Lambda拉姆达表达式);
可以迭代,但是不能直接迭代,Map集合没有迭代器,也没有实现什么迭代器接口!
这个只是迭代方式1:
迭代器是针对单列集合:Collection使用的,既:List与Set旗下小弟使用!
Map集合可以返回一个Set集合,里面都是键Key
既然可以返回一个Set集合,那么就可以拿迭代器对这个Set集合进行迭代,迭代Set集合同时
间接就可以获取Map的value项,达到迭代Map的目的!
还有第二种方式也可以迭代:
Map集合也可以返回一个Map.Entry(映射项)对象,这个玩意也被封装在一个Set集合中
这个玩意有自己的内部方法,也可以直接获取键值,以达到迭代目的!
提示一下:(JDK1.8开始增加了Map.froEach,Lambda拉姆达表达式);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询