我有一个长度为100的字符串的迭代器。我想每次获取10个元素,并将它们传递给另一个函数。除了在循环中创建条件来计算10个元素之外,还有什么方法/方式吗?
发布于 2021-02-19 14:48:57
这取决于你需要对它们做什么,但问题的编写方式似乎是你想一次处理10个项目。
Iterator<String> it = ... ;
List<String> nextBatch = nextBatchOf(it, 10);
// do something with nextBatch
以及获取下一批元素的方法
List<String> nextBatchOf(Iterator<String> it, int size) {
List<String> batch = new ArrayList<>();
for (int i = 0; i < size && it.hasNext(); i++) {
batch.add(it.next());
}
return batch;
}
发布于 2021-02-19 14:45:35
您可以使用standart Arrays API:
int step = 10;
for (int i = 0; i < 10; i ++){
anotherFunction(Arrays.copyOfRange(source, i * step, (i + 1) * step));
}
https://stackoverflow.com/questions/66272725
复制相似问题