From 9fdfe005be50804f82a6b1b19df9b4c2863461a0 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 31 Jan 2026 09:53:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day02-=E8=BF=AD=E4=BB=A3?= =?UTF-8?q?=E5=99=A8=E9=81=8D=E5=8E=86=E9=9B=86=E5=90=88=E7=9A=84=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E4=B8=8E=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/collection01/CollectionDemo01.java | 2 + .../com/inmind/iterator02/IteratorDemo02.java | 64 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 javaSE-day02/src/com/inmind/iterator02/IteratorDemo02.java diff --git a/javaSE-day02/src/com/inmind/collection01/CollectionDemo01.java b/javaSE-day02/src/com/inmind/collection01/CollectionDemo01.java index bbc3e46..f93de05 100644 --- a/javaSE-day02/src/com/inmind/collection01/CollectionDemo01.java +++ b/javaSE-day02/src/com/inmind/collection01/CollectionDemo01.java @@ -54,5 +54,7 @@ public class CollectionDemo01 { System.out.println(strList); System.out.println(strList.isEmpty());//true + //--------------------------之前已经学过的集合的遍历---------------------- + } } diff --git a/javaSE-day02/src/com/inmind/iterator02/IteratorDemo02.java b/javaSE-day02/src/com/inmind/iterator02/IteratorDemo02.java new file mode 100644 index 0000000..d5651b9 --- /dev/null +++ b/javaSE-day02/src/com/inmind/iterator02/IteratorDemo02.java @@ -0,0 +1,64 @@ +package com.inmind.iterator02; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +/* + 4.迭代器遍历的流程与实现 + + 1.为什么要学习迭代器?? + 因为单列集合有一部分没有索引,之前的普通for循环不满足遍历操作,所以我们要学习一个通用性的遍历方式,迭代器 + + 2.如何获取迭代器?? + Iterator iterator() 返回此集合中元素的迭代器。 + + 3.迭代器如何使用? + boolean hasNext() 如果迭代具有更多元素,则返回 true 。 + E next() 返回迭代中的下一个元素。 + 使用步骤: + 1.判断是否有下一条数据 + 2.如果有就获取下一条数据,如果没有就停止 + + */ +public class IteratorDemo02 { + public static void main(String[] args) { + //定义出一个保存字符串的单列集合 + Collection lists = new ArrayList<>();//父接口引用指向子类对象,多态 + + lists.add("刘备"); + lists.add("关羽"); + lists.add("张飞"); + lists.add("张飞"); + lists.add("张飞"); + lists.add("张飞"); + + //由于当前单列集合没有索引api,只能通过通用性更强的迭代器来遍历 + Iterator iterator = lists.iterator(); + /* + 使用步骤: + 1.判断是否有下一条数据 + 2.如果有就获取下一条数据,如果没有就停止 + */ + + /*System.out.println(iterator.hasNext());//true + System.out.println(iterator.next());//刘备 + + System.out.println(iterator.hasNext());//true + System.out.println(iterator.next());//关羽 + + System.out.println(iterator.hasNext());//true + System.out.println(iterator.next());//张飞 + + System.out.println(iterator.hasNext());//false + System.out.println(iterator.next());//注意:如果迭代器返回没有下一个元素了,还继续获取,则会报异常java.util.NoSuchElementException +*/ + //使用while循环来优化迭代器遍历 + while (iterator.hasNext()) { + String next = iterator.next(); + System.out.println(next); + } + + System.out.println("程序结束"); + } +}