共计 1433 个字符,预计需要花费 4 分钟才能阅读完成。
1、迭代器概述
1.1、什么是迭代器
集合用来持有数据,一定会设计出对数据的增、删、改、查四个常用方法,而查是集合中最常用的功能。Collection 接口继承了 Iterable 接口,具备了可迭代功能 iterator 方法,该方法用于迭代集合。所以,所有单列集合由于是 Collection 的直接或间接实现类,均具有该方法。
1.2、集合迭代方式
这里涉及到以下内容共同完成集合的迭代:
Collection 接口的 iterator 方法,所以单列集合实现类均有该方法
iterator 方法的返回值类型 Iterator 接口类型
Iterator 接口的两个方法:hasNext 与 next 方法
2、实现迭代步骤
2.1、获取迭代器
(1)Iterator< 集合中数据类型 > iterator()
用来返回专属于该集合对象的迭代器对象 (Iterator 的子类对象)
(2)Iterator 该接口规定了迭代集合所需要的方法
ArryList<String> list = new ArryList <String>(); | |
hs.add("i love java"); | |
hs.add("i like java"); | |
// 返回迭代器 | |
Iterator<String> iterator = list.iterator(); |
2.2、hasNext 与 next 方法
Iterator 规定了两个方法,集合对象产生的迭代器对象正是通过这两个方法帮助集合进行迭代工作的。
调用迭代器的 hasNext 方法:判断是否有下一个元素
调用迭代器的 next 方法:获取下一个元素
while (iterator.hasNext()) {String string = iterator.next(); | |
System.out.println(string); | |
} |
2.3、迭代集合元素图解
import java.util.ArrayList; | |
import java.util.Collection; | |
import java.util.Iterator; | |
public class IteratorDemo01 {public static void main(String[] args) {Collection c = new ArrayList(); | |
c.add("java"); | |
c.add("python"); | |
c.add("前端"); | |
// 遍历集合. 获取其中每一个元素. | |
// 1. 获取迭代器对象 . | |
Iterator iterator = c.iterator(); // Iterator 接口 指向 子类对象. | |
// 2. 调用迭代器的方法, 获取集合中的元素. | |
// Object next = iterator.next(); | |
// System.out.println(next); | |
// | |
// Object next2 = iterator.next(); | |
// System.out.println(next2); | |
// | |
// Object next3 = iterator.next(); | |
// System.out.println(next3); | |
// | |
// Object next4 = iterator.next(); //NoSuchElementException | |
// System.out.println(next4); | |
// 判断是否有下一个元素 | |
while(iterator.hasNext()){// 获取元素 | |
Object next = iterator.next(); | |
System.out.println(next); | |
} | |
} | |
} |
运行结果:
正文完
星哥玩云-微信公众号
