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("程序结束"); + } +}