Java中是否有可写的迭代器?

Łuk*_*Lew 5 java arrays iterator mutable

在C +中,可以使用迭代器来写入序列.最简单的例子是:

vector<int> v;
for (vector<int>::iterator it = v.begin(); it!=v.end(); ++it) {
    *it = 42;
}
Run Code Online (Sandbox Code Playgroud)

我需要更复杂的东西 - 将迭代器保持为类成员以供以后使用.但我不知道如何从Java迭代器中获得这种行为.

Java中是否有可写的迭代器?
如果没有,那么取代它们的是什么?

Bal*_*usC 8

ListIterator(你可以通过获得List#listIterator()),具有add()set()它允许你插入分别和当前迭代指数更换的项目方法.这是迄今为止我能想到的唯一"可写迭代器".

不确定这是否是给定C++代码的确切替代,因为我不知道C++.

  • @Lukasz:您可以使用`Arrays.asList`将数组转换为List(在常量时间内),然后从中获取ListIterator. (2认同)