集合8 - Iterator迭代器
Iterator
Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和HashSet等集合。迭代器 it 的三个基本操作是 next 、hasNext 和 remove。
- 为什么要使用迭代器?
- 普通的for遍历访问集合键值对数据时,要取出全部keys,再通过keys遍历访问所有values
- 如果在遍历过程中修改了集合数据,已经取出的keys没修改,导致数据不一致
- 迭代器Iterator在全集合发生变化时也会做出相应修改,保持数据的一致性
public class _Iterator {
public static void main(String[] args) {
//TODO .iterator() 通过迭代器遍历集合
HashMap<String, Integer> map = new HashMap<>();
map.put("a",1);
map.put("b",2);
map.put("c",3);
Set<String> keys = map.keySet();
Iterator<String> iterator = keys.iterator();
//TODO .hasNext() 判断是否有下一条数据
// .next() 获取下一条数据
// .remove() 通过迭代器的remove方法删除数据保持数据一致性
//且remove只能删除当次循环的数据,不能删除其他数据
while (iterator.hasNext()){
String key = iterator.next();
if(key.equals("b")){
iterator.remove();
}
System.out.println(map.get(key));
}
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析