我需要将来自循环的值存储在Iterator<List<String>>
中。
我尝试了很多方法,但找不到任何方法。
为您提供代码。
ListIterator<List<String>> itrr = null;
for (int i = startLoop; i <= endLoop; i++) {
List<String> listOfString = new ArrayList<>();
for (int j = startInnerLoop; j <= endInnerLoop; j++) {
// for each cell we have to derive the row value as A1:A1
String address = Number2Column.execute(j) + i;
address += Constants.COLONSPLITTER + address;
listOfString.add(executor.getSingleCell(false, address).get().toString());
}
itrr.add(listOfString);
}
为了方便尝试,在这里我使用ListIterator添加了Collection,但是可以将其强制转换为
Iterator<List<String>>
?
答案 0 :(得分:2)
迭代器不存储数据。它是基础集合的一种表示形式,可让您对其进行迭代。
只需将您的字符串列表存储在另一个列表List<List<String>>
中。 List
类实现了Iterable
接口,这意味着您可以在任何列表上获得迭代器。
List<List<String>> itrr = new ArrayList<>();
for (int i = startLoop; i <= endLoop; i++) {
List<String> listOfString = new ArrayList<>();
for (int j = startInnerLoop; j <= endInnerLoop; j++) {
...
listOfString.add(...);
}
itrr.add(listOfString);
}
Iterator<List<String>> iter = ittr.iterator();
如果需要,您甚至可以获取ListIterator
。
ListIterator<List<String>> listIter = ittr.listIterator();