java中的迭代器对于容器类中的元素进行遍历的操作的工具,主要为需求为读取集合类中的元素和删除集合类中的元素。同时迭代器也是容器类的接口,在使用时直接容器类.iterator调用迭代器即可使用。
迭代器的相关方法:
hasNext() 判断集合中还有没有可以被取出的元素,如果有返回true
next() 取出集合中的下一个元素
使用方式读取:
> Collection<person> people = new arrayList<person>();`
> people.add(p1);
> people.add(p2);
> people.add(p3);
> people.add(p4);
> //创建迭代器
> Iterator<peoson> it = people.iterator();
> while(it.hasNext()){
person p = it.next();
//对迭代到的内容进行相关的操作
//读取
System.out.println(p);
//删除
if(p.equals(p2)){
iterator.remove();
}
}
迭代器的意义:
迭代出的对象也是引用的拷贝,结果还是引用。那么如果集合中保存的元素是可变类型的,那么可以通过迭代出的元素修改原集合中的对象。在使用迭代器删除集合类中的元素的时候经过设定可以保证选取的元素的迭代次序不发生改变,采用for循环则会产生次序错误的情况。