迭代器--遍历集合的专用工具

Posted schiller-hu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器--遍历集合的专用工具相关的知识,希望对你有一定的参考价值。

【不使用迭代器遍历集合】

 1 package com.hxl;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Arrays;
 5 import java.util.Collection;
 6 
 7 public class Test {
 8 
 9     public static void main(String[] args) {
10         // 实例化一个集合对象
11         Collection c = new ArrayList<>();
12         // 添加元素
13         c.add(new Student("aa", 11, ‘男‘));
14         c.add(new Student("bb", 22, ‘男‘));
15         c.add(new Student("cc", 33, ‘女‘));
16         c.add(new Student("dd", 44, ‘男‘));
17         c.add(new Student("ee", 55, ‘女‘));
18         // 将集合转为Object[]数组
19         Object[] objs = c.toArray();
20         // 遍历数组
21         for (int i = 0; i < objs.length; i++) {
22             // 这里Student类中的toString()方法已经重写过了
23             System.out.println(objs[i]);
24         }
25     }
26 }

【使用迭代器Iterator】

 

 1 package com.hxl;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Arrays;
 5 import java.util.Collection;
 6 import java.util.Iterator;
 7 
 8 public class Test {
 9 
10     public static void main(String[] args) {
11         // 实例化一个集合对象
12         Collection c = new ArrayList<>();
13         // 添加元素
14         c.add(new Student("aa", 11, ‘男‘));
15         c.add(new Student("bb", 22, ‘男‘));
16         c.add(new Student("cc", 33, ‘女‘));
17         c.add(new Student("dd", 44, ‘男‘));
18         c.add(new Student("ee", 55, ‘女‘));
19         // 使用迭代器有两种方法,方法一:while循环遍历,优点逻辑结构清晰
20         // 实例化迭代器Iterator对象,注意Iterator是接口,这里是其实现类的对象.
21         Iterator it = c.iterator();
22         while (it.hasNext()) {
23             // it.next()方法返回的是Object对象,而它其实是Student对象,并且重写了toString方法。
24             System.out.println(it.next());
25         }
26         
27         // 方法二:for循环遍历迭代器,优点节省内存空间,缺点逻辑结构不那么清晰
28         /*
29             for (Iterator it = c.iterator(); it.hasNext();不需要写表达式) {
30                 System.out.println(it.next()); 
31             }
32         */
33     }
34 }

 

以上是关于迭代器--遍历集合的专用工具的主要内容,如果未能解决你的问题,请参考以下文章

迭代器遍历ListSetMap&& 遍历集合的方法总结 && Collections工具类

Groovy集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )

集合遍历回顾--迭代器使用

Java中定义一个迭代器(Iterator)遍历完一个集合后,如果还要再遍历一次这个集合?

关于迭代器的for-each遍历集合现象。。。。。

JAVA集合集合迭代器快速失败行为及CopyOnWriteArrayList