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));
}
}
}
标签:map,迭代,iterator,keys,Iterator,集合
From: https://www.cnblogs.com/Ashen-/p/17024197.html