Задать вопрос
@Mercury13
Программист на «си с крестами» и не только

Java: for по коллекции или функциональщина?

Есть у меня кусочек кода (из самодельной игры — потому планеты).
for (Planet p : planets) {
    st.print(p.prototype.code);
}

Начиная с недавнего времени, NetBeans предлагает заменить код вот на такой.
planets.stream().forEach((p) -> {
    st.print(p.prototype.code);
});

Что он даёт? Производительность? Реклама каких-то функциональных библиотек?
  • Вопрос задан
  • 377 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 3
@cthulhudx
Программы в декларативном стиле как правило занимают меньше места и их удобнее читать, только и всего.Еще вы можете проитерировать коллекцию в параллельном режиме, заменив stream() на parallelStream(), отфильтровать нужные элементы с помощью предиката и вообще выполнять много полезных действий
Ответ написан
Комментировать
@wani
Стримы можно пустить по потокам и если у тебя, к примеру, 1 000 000 000 planet, которые хочешь вывести на экран и не важен порядок, то можешь пустить по потокам и увеличишь производительность + stream дает методы для обработки информации в потоке.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev
software engineer
Это новое в java 8
производительность не вырастет, но есть возможность пользоваться методами, фильтрация и обработка, и все это пишется "в одну строку".
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
XNoNAME
@XNoNAME
Эникейщик
Он предлагает решение на java 8

Если приложение запускается на jre 1.8, то можно заменить. Иначе, настроить проект на использование JDK 1.7
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы