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

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

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

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

Что он даёт? Производительность? Реклама каких-то функциональных библиотек?
  • Вопрос задан
  • 376 просмотров
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы