迭代器注意的点:
- 1.报错NoSuchElementException
- 2.迭代器遍历完毕,指针不会复位
- 3.循环中只能使用一次next方法
- 4.迭代器遍历时,不能使用集合的方法进行增加或者删除.只能使用迭代器进行删除,但是无法通过迭代器进行添加。但是,当遍历结束时,可以使用迭代器的方法进行遍历。
package demo;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class submit {public static void main(String[] args) {/*迭代器注意的点:1.报错NoSuchElementException2.迭代器遍历完毕,指针不会复位3.循环中只能使用一次next方法4.迭代器遍历时,不能使用集合的方法进行增加或者删除*/Collection<String> coll = new ArrayList<>();coll.add("aaa");coll.add("bbb");coll.add("ccc");Iterator<String> it = coll.iterator();while(it.hasNext()){String st = it.next();System.out.println(st);}//2.如果要二次遍历,要获取一个新的迭代器对象,进行遍历Iterator<String> it2 = coll.iterator();while(it2.hasNext()){String st = it2.next();System.out.println(st);}// 4. 修改不能使用集合的方法,例如 coll.remove("aaa") ,会报错。//要使用迭代器进行删除。Iterator<String> it3 = coll.iterator();while(it3.hasNext()){String st = it3.next();if(st.equals("bbb")){// coll.remove("bbb") //报错it3.remove();}}System.out.println(coll);// 没有在迭代器遍历的过程中,就可以使用集合的方式进行元素的添加喝删除。coll.remove("aaa");System.out.println(coll);}}