本专栏主要是记录学习完本专栏主要是记录学习Java中的知识点,如果刚开始学习Java的小伙伴可以点击下方连接查看专栏
JavaWeb:JavaWeb
Java入门篇: Java基础学习篇
Java进阶学习篇(持续更新中):Java进阶学习篇
本文将讲述有关于Java中的迭代器,也是集合中的一部分,学会了迭代器就可以优化代码,在遍历集合的时候就可以使用迭代器进行遍历了
迭代器是不依赖索引的,也是集合专用的遍历方式
Iterator<E> iterator()
boolean hasNext()
E next();
这里就像上文所说,我们要创建其实现类的对象(ArrayList
),才能使用add方法去给集合内添加元素,才能实现用迭代器去遍历这个集合
ArrayList list1 = new ArrayList();
list1.add("111");
list1.add("222");
list1.add("333");
我们可以把迭代器看作是一个箭头,默认指向0索引处;这里调用iterator()
方法后再获取一个迭代器对象去接收它
Iterator<String> iterator = list1.iterator();
这里要用到我们前面说的hasNext()
方法,不断地取出当前位置的元素有判断该元素后面是否还有元素,如果有,就继续取出后判断并打印输出,如果没有,就结束本次操作。所以这里要用到一个while
循环去实现
while (iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
import java.util.ArrayList;
import java.util.Iterator;
public class Demo1 {
public static void main(String[] args) {
ArrayList list1 = new ArrayList();
//添加
list1.add("111");
list1.add("222");
list1.add("333");
Iterator<String> iterator = list1.iterator();
while (iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
}
}
111
222
333
迭代器遍历完毕后,所谓的 “指针” 并不会复位
在循环体中只能用一次next方法
用迭代器遍历不能使用集合方法进行增加和删除
报错"NoSuchElementException
"代表无法检索到相应元素(一般存在于使用了多次next方法)
接下来会讲述另外两种遍历方式