迭代器:用来操作集合中的元素,增删,获取集合中的对象。
Iterator:迭代器的超级接口:所有的迭代器接口都是继承Iterator
迭代器的常用方法:hasNext(); 判断当前指针指向的位置是否有元素
next(); 获取当前指针指向的元素,被调用一次后,指针指向下一个
remove(); 删除当前指针指向的元素
(遍历推荐用)while(Iterator对象.hasNext()){ //会先判断指针是否有元素
System.out.println(Iterator对象.next());
}
listIterator : 继承Iterator
listIterator:特有方法:
hasPrevious(); 判断当前指针指向的上一个元素是否为空
previous(); 获取上一个元素
previousIndex(); 获取指针指向上一个元素的索引值
add(E e); 当前指针指向的位置添加元素(指向第二个,就在第二个添加)
set(E e); 替换当前指针指向的元素
遍历集合三种方式:①.将集合变为数组
②.get(索引) 方法获取:只能在list集合中使用,只有list有索引
③.迭代器: hasNext()判断是否是元素 next()指向下一个元素
迭代器使用注意事项:
当你使用迭代器来操作集合中的元素时,不能再用集合来操纵元素,否则会报错。。
java.util.ConcurrentModificationException :
原因:用迭代器操作了属性后又用集合操作属性。