java iterator 嵌套_为什么java.util.Iterator不在嵌套循环中重置?

当我运行这段代码时,迭代器

iter

iter

每次都在外循环,但都没用!也就是说,在第一次迭代之后,iterable的长度为零!

String path = "somefile.csv";

try {

Reader in = new FileReader(path);

Iterable records = CSVFormat.RFC4180.withHeader(MetadataExtractorForTables.HeaderType.class)

.withDelimiter('\t').parse(in);

// A stupid loop

for(int i = 0; i < 3; i++) {

Iterator iter = records.iterator();

System.out.println("---> " + Iterators.size(iter));

System.out.println("--> " + StreamSupport.stream(records.spliterator(), false).count());

/* ----------------------------------------

* here I would like to use the iterator

* in a (nested) loop

* ---------------------------------------- */

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

输出如下:

---> 191

--> 0

---> 0

--> 0

---> 0

--> 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值