[#] Stream API & ForkJoinPool
habrabot(difrex,1) — All
2017-09-27 11:30:08


Продолжаем серию полезностей, которыми мы делимся с вами. Теперь уже вновь по Java.

Если вы уже знакомы со Stream API и использовали его, то знаете, что это удобный способ обработки данных. С помощью различных встроенных операций, таких как map, filter, sort и других можно преобразовать входящие данные и получить результат. До появления стримов разработчик был вынужден императивно описывать процесс обработки, то есть создавать цикл for по элементам, затем сравнивать, анализировать и сортировать при необходимости. Stream API позволяет декларативно описать, что требуется получить без необходимости описывать, как это делать. Чем-то это напоминает SQL при работе с базами данных.

[![][1]][2]

Стримы сделали Java-код компактнее и читаемее. Еще одной идеей при создании Stream API было предоставить разработчику простой способ распараллеливания задач, чтобы можно было получить выигрыш в производительности на многоядерных машинах. При этом нужно было избежать сложности, присущей многопоточному программированию. И это удалось сделать, в Stream API есть методы BaseStream::parallel и Collection.parallelStream(), которые возвращают параллельный стрим.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/59/ca/65/59ca65b147d0e843908361.jpeg
[2]: https://habrastorage.org/webt/59/ca/65/59ca65b147d0e843908361.jpeg
[3]: https://habrahabr.ru/post/338770/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut