1.概述
迭代器在其实就是指针,读取集合或者数组中的一个值,读完以后又指向下一条数据。
iterator()
迭代器只读,不能改效率要比for循环高
iterator 意思为
2.迭代器的一些方法
HasNext() 如果仍有元素可以迭代,则返回 true
Next()返回迭代的下一个元素(取值)
remove()从迭代器指向的 collection 中移除迭代器返回的最后一个元素
3.1iterator接口
- 主要用于迭代访问(即遍历集合)Collection中的元素,因此iterator对象也被称为迭代器
- iterator 对象名=集合.iterator()
3.2常用方法
- boolean hasNext();如果仍有元素可以迭代,则返回true
- E next():返回迭代的下一个元素(E代表集合中的元素类型,如果未使用泛型,则为Object)
3.3用法
import java.util.ArrayList;
import java.util.Iterator;
public class Test01 {
public static void main(String[] args) {
ArrayList a=new ArrayList();//集合有序
a.add("老大");
a.add("老二");
a.add("老三");
a.add("老四");
// a.add(99);
for (Object u:a) {//加强for循环输出
String string=(String)u;//当集合不是泛型是,集合限制类型
System.out.print(string+" ");
}
System.out.println();
Iterator iterator=a.iterator();//迭代器循环
while (iterator.hasNext()) {
String nString=(String)iterator.next();//强制转换
System.out.print(nString+" ");
}
}
}
3.4特别说明
当迭代器获取ArrayList集合中的元素时,都会将这些元素当作
Object类型来看待,如果想要得到特定类型的元素,则需要进行强制转换。
注意:it.next();不能出现多次
调用方法
while (it.hasNext()) {
it.next().show();
}