本专栏主要是记录学习完本专栏主要是记录学习Java中的知识点,如果刚开始学习Java的小伙伴可以点击下方连接查看专栏
JavaWeb:🔥JavaWeb
Java入门篇: 🔥Java基础学习篇
Java进阶学习篇(持续更新中):🔑Java进阶学习篇
文章目录
一、前言
本文将讲述有关于Java中的迭代器,也是集合中的一部分,学会了迭代器就可以优化代码,在遍历集合的时候就可以使用迭代器进行遍历了
二、概述
迭代器是不依赖索引的,也是集合专用的遍历方式
三、常用方法
1.获取对象
Iterator<E> iterator()
2.判断当前指向位置是否有元素
boolean hasNext()
3.获取当前指向元素并向前移动
E next();
四、迭代器遍历
1.创建集合
这里就像上文所说,我们要创建其实现类的对象(ArrayList
),才能使用add方法去给集合内添加元素,才能实现用迭代器去遍历这个集合
ArrayList list1 = new ArrayList();
2.给集合内添加元素
list1.add("111");
list1.add("222");
list1.add("333");
3.获取迭代器对象
我们可以把迭代器看作是一个箭头,默认指向0索引处;这里调用iterator()
方法后再获取一个迭代器对象去接收它
Iterator<String> iterator = list1.iterator();
4.获取集合中元素
这里要用到我们前面说的hasNext()
方法,不断地取出当前位置的元素有判断该元素后面是否还有元素,如果有,就继续取出后判断并打印输出,如果没有,就结束本次操作。所以这里要用到一个while
循环去实现
while (iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
5.完整代码
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方法)
六、结语
接下来会讲述另外两种遍历方式