黑马程序员技术交流社区
标题:
为什么Map没有迭代器?
[打印本页]
作者:
执笔画梦
时间:
2015-1-7 21:07
标题:
为什么Map没有迭代器?
既然Set子类都有自己的迭代器,为什么Map没有,或者我错了?还是Map有自己的迭代器?Set是单列的,Map是双列的,难道数据结构一样吗?
作者:
叫我小强
时间:
2015-1-7 21:15
map集合遍历使用的是增强for循环,而增强for循环的底层调用的还是迭代器啊。。。
作者:
mmppp
时间:
2015-1-7 21:29
map集合里面遍历的时候用keySet 返回Set类型的键 然后还是可以用迭代啊
或者可以用rntrySet<>.......返回Set类型的 Map.Entry<> 然后用迭代器。。。。
作者:
chenshiji
时间:
2015-1-7 22:06
学习了!!
作者:
任我行_2014
时间:
2015-1-8 00:10
Map集合有迭代器,只是因为是双列集合不能直接使用而已,必须通过keySet( )方法或者entrySet( )方法,获得键集合或映射关系集合,才能接着使用迭代器遍历集合对象
作者:
huduzhi
时间:
2015-1-8 00:24
可以使用Map的keyset()的迭代器。请看示例:
HashMap<String,Integer> map=new HashMap<String,Integer>();
map.put("java",9000);
map.put("android",13000);
map.put("php",10000);
System.out.println(map);//{android=13000, php=10000, java=9000}
Iterator<String> it=map.keySet().iterator();
while(it.hasNext()){
String str=it.next();
if(str.equals("php")){
it.remove();//使用keySet的迭代器移出
}
}
System.out.println(map);//{android=13000, java=9000}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2