小编use*_*345的帖子

Java Iterables"重置"每个Foreach构造的迭代器

我相信我已经注意到,对于某些Iterables(例如这个IterableString类),要么创建一个新的迭代器,要么迭代器以某种方式重置为每个新的foreach构造的开头,但这似乎与其他Iterables没有发生...

例如,如果您运行以下代码:


import java.util.ArrayList;


public class test {


  public static void main(String args[]) {
    IterableString x = new IterableString("ONCE");

    System.out.println("***");
    for (char ch : x){
      System.out.println(ch);
    }

    System.out.println("***");
    for (char ch : x){
        System.out.println(ch);
     }

    ArrayList y = new  ArrayList();
    y.add('T');
    y.add('W');
    y.add('I');
    y.add('C');
    y.add('E');

    System.out.println("***");
    for (char ch : y){
        System.out.println(ch);
     }

    System.out.println("***");
    for (char ch : y){
        System.out.println(ch);
     }

    System.out.println();
  }
}

Run Code Online (Sandbox Code Playgroud)

您将看到以下输出:


***
O
N
C
E
***
***
T
W
I
C
E
*** …
Run Code Online (Sandbox Code Playgroud)

java foreach iterator iterable arraylist

6
推荐指数
1
解决办法
1353
查看次数

标签 统计

arraylist ×1

foreach ×1

iterable ×1

iterator ×1

java ×1