Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Java8 предоставляет способ потоковых вычислений для коллекций.Этот стиль рассматривает коллекцию элементов, подлежащих обработке, как поток, поток передается в конвейере и может обрабатываться на узлах конвейера, таких как фильтрация, сортировка, агрегация. , и т.д. .
Stream API в основном возвращает сам поток, так что несколько операций могут быть объединены в конвейер, как в стиле Fluent. Это позволяет оптимизировать такие операции, как ленивость и короткое замыкание.
- 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, и их можно использовать для получения статистических результатов, подобных следующим.