Olexandra Dmytrenko
QA Automating at EPAM Systems
I'll show you how to switch from writing standard code using good old Java7 into writing it using functional way presented in Java8. The training is counted on beginners in the subject who like discovering the new horizons or for those who want to become more firm in using the new lambda features.
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...solit
Виктор Русакович, Минск, Web-developer c 6-ти летним опытом разработки, компания GP Software.travel
«Реактивный JavaScript. Победа над асинхронностью и вложенностью». Development секция. Для разработчиков. Высокий уровень подготовки.
«Непрерывная интеграция сложного проекта. Кто всё сломал?». IT секция. Agile отделение. Для всех уровней подготовки.
Olexandra Dmytrenko
QA Automating at EPAM Systems
I'll show you how to switch from writing standard code using good old Java7 into writing it using functional way presented in Java8. The training is counted on beginners in the subject who like discovering the new horizons or for those who want to become more firm in using the new lambda features.
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...solit
Виктор Русакович, Минск, Web-developer c 6-ти летним опытом разработки, компания GP Software.travel
«Реактивный JavaScript. Победа над асинхронностью и вложенностью». Development секция. Для разработчиков. Высокий уровень подготовки.
«Непрерывная интеграция сложного проекта. Кто всё сломал?». IT секция. Agile отделение. Для всех уровней подготовки.
3. Больше никаких циклов
Stream API в Java позволяет сказать,
что мы хотим получить, вместо того
чтобы говорить как этого можно
добиться.
4. Stream API
Тип java.util.Stream представляет собой
последовательность элементов, над которой
можно производить различные операции.
Операции над потоками бывают или
промежуточными (intermediate) или конечными
(terminal).
9. Stream API
Терминальные операции возвращают
результат определённого типа, а конвеерные
операции возвращают тот же поток.
Таким образом вы можете строить цепочки из
несколько операций над одним и тем же потоком.
12. Источник stream
Потоки создаются на основе источников, например типов,
реализующих java.util.Collection, такие как списки или
множества (ассоциативные массивы не поддерживаются).
Операции над потоками могут выполняться как
последовательно, так и параллельно.
26. count
Операция count является конечной
операцией и возвращает
количество элементов в потоке.
Типом возвращаемого значения
является long.
27. match
Для проверки, удовлетворяет ли
поток заданному предикату,
используются различные операции
сопоставления (match).
Все операции сопоставления
являются конечными и возвращают
результат типа boolean.
29. Коллектор
Большинство операций класса Stream,
возвращают набор данных в виде
потока. Однако бывают ситуации, когда
хотелось бы получить данные не в виде
потока, а в виде обычной коллекции,
например, ArrayList или HashSet. И для
этого у класса Stream определен метод
collect.
30. Параллельные потоки
До java 8, операции в коллекции
выполнялись в одном потоке.
В java 8 была добавлена
паралельная обработка. Для этого
достаточно вызвать метод
parallelStream() у коллекции.