Есть ли способ, чтобы использовать потоки, чтобы написать этот код:индекс Loop в Java 8
for (int i = 0; i < list.size(); i ++) {
if (i % 1000 == 0) {
doSomething();
}
doSomethingElse(list.get(i));
}
Спасибо!
Есть ли способ, чтобы использовать потоки, чтобы написать этот код:индекс Loop в Java 8
for (int i = 0; i < list.size(); i ++) {
if (i % 1000 == 0) {
doSomething();
}
doSomethingElse(list.get(i));
}
Спасибо!
Для этого вы можете использовать IntStream
... но зачем вам? Он выглядит в основном так же, как и то, что вы написали, но имеет некоторые накладные расходы из-за IntStream
, который здесь действительно не нужен.
IntStream.range(0, list.size())
.forEach(i -> {
if (i % 1000 == 0) {
doSomething();
}
doSomethingElse(list.get(i));
});
Не зная, что doSomething
или doSomethingElse
сделать, это трудно сделать лучше предложение. Может быть, вы хотите (или должны?) Разбить свой список заранее?
Вы правы. Я думал, что код будет менее подробным с потоками, но в этом случае нет необходимости использовать тему. Благодаря! – dardy
Вы имели в виду 'doSomethingElse (list.get (i));'? – Bohemian