Божественная операция Java 8 Stream

Java

Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.

Java8 предоставляет способ потоковых вычислений для коллекций.Этот стиль рассматривает коллекцию элементов, подлежащих обработке, как поток, поток передается в конвейере и может обрабатываться на узлах конвейера, таких как фильтрация, сортировка, агрегация. , и т.д. .

Stream API в основном возвращает сам поток, так что несколько операций могут быть объединены в конвейер, как в стиле Fluent. Это позволяет оптимизировать такие операции, как ленивость и короткое замыкание.

image.png

image.png

image.png

  • stream() создает последовательный поток для коллекции
  • parallelStream() создает параллельный поток для коллекции
private void createStream(){
    Stream<Integer> stream = getList().stream();
    Stream<Integer> parallelStream = getList().parallelStream();
}

stream предоставляет внутренний метод обхода forEach(), который может значительно упростить код обхода коллекции через forEach.

private void forEach(){
    getList().forEach(i->System.out.println(i));
}

Stream предоставляет метод filter() для фильтрации данных, который можно использовать в сочетании с другими потоковыми API для простой реализации фильтрации данных.

Stream предоставляет метод map() для сопоставления данных, который можно использовать в сочетании с другими потоковыми API для простой реализации сопоставления данных.

Stream предоставляет метод sorted() для сопоставления данных, который можно использовать в сочетании с другими потоковыми API для простой реализации сортировки данных.

Класс Collectors реализует множество операций сокращения, таких как преобразование потоков в наборы и агрегирование элементов. Коллекторы могут использоваться для возврата списков или строк.

Некоторые сборщики, производящие статистику, также очень полезны. Они в основном используются для базовых типов, таких как int, double и long, и их можно использовать для получения статистических результатов, подобных следующим.