迭代器(Iterator)遍历的两种方法(for和while)

简介: 迭代器(Iterator)遍历的两种方法(for和while)

一般遍历list的时候,我们习惯下面的写法,但这种写法有缺陷,不能及时释放iterator的内存

while循环遍历

@Test
public  void testIteratorWhile(){
    ArrayList<String> lists = new ArrayList<>();
    lists.add("A");
    lists.add("B");
    lists.add("C");
    Iterator<String> iterator = lists.iterator();
    while (iterator.hasNext()){
        String next = iterator.next();
        System.out.println(next);
    }
}



有经验的开发者,一般都会这么写,因此for循环比while好用许多

for循环遍历

@Test
public  void  testIteratorFor(){
    ArrayList<String> lists = new ArrayList<>();
    lists.add("1");
    lists.add("2");
    lists.add("3");
    for(Iterator it = lists.iterator(); it.hasNext(); ) {
        System.out.println(it.next());
    }
}



下面的方法,也是推荐的,尤其是在高并发的情况下,可以节省内存资源,在大括号中间声明的变量,他的声明周期就在大括号内

@Test
public  void testIteratorWhile(){
    ArrayList<String> lists = new ArrayList<>();
    lists.add("A");
    lists.add("B");
    lists.add("C");
    {
        Iterator<String> iterator = lists.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);
        }
    }
}

相关文章
|
4月前
|
Java
for-each循环使用iterator进行遍历
for-each循环使用iterator进行遍历
29 0
|
5月前
|
C++ 容器
迭代器 iterator
迭代器 iterator
|
6月前
list转迭代器Iterator
list转迭代器Iterator
|
6月前
|
C++ 容器
C++:迭代器
C++:迭代器
70 0
|
6月前
自己实现iterator迭代器
自己实现iterator迭代器
|
设计模式 Java Python
迭代器(Iterator)
迭代器(Iterator)是一种设计模式,用于遍历聚合对象的一种方法。迭代器提供了一种方法来访问聚合对象中的元素,而不需要暴露该对象的内部表示。迭代器模式在 Java 和 Python 等编程语言中广泛使用,可以用于处理列表、元组、集合等数据结构。
56 1
|
设计模式 开发框架 .NET
C#——迭代器
C#——迭代器
84 0
C#——迭代器
|
JavaScript 索引
简单理解遍历器Iterator
简单理解遍历器Iterator
112 0
|
算法 搜索推荐 C++
C++迭代器 iterator详解
C++迭代器 iterator详解
355 0
C++迭代器 iterator详解
|
存储 Java 容器
Iterator迭代器介绍!
Iterator迭代器介绍!
140 0
Iterator迭代器介绍!