Рубрики
Без рубрики

Шпаргалка по потоку Java 8

Шпаргалка, которая упорядочивает и описывает наиболее полезные методы работы с потоками Java 8. Помеченный java, функционал, шпаргалка, подсказки для разработчиков.

Первоначально опубликовано на Первоначально опубликовано на

Потоки – это способ работы с объектами в коллекции.

Потоки позволяют человеку сказать, что он хочет иметь в конце. Сравните это с императивным подходом, который требует, чтобы человек сказал как собрать то, что они хотят иметь в конце.

Потоки также допускают тривиальную многопоточность.

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

Если бы мне пришлось выбирать необходимые методы для работы с потоком, я бы сказал Карта , Фильтр , и Собирайте находитесь на нем.

Фильтр Фильтр принимает Предикат и оставляет только те значения , которые Предикат истинен для.

Карта Карта принимает Функцию и преобразует значения в потоке из одного типа в другой

Сортированный Сортированный принимает Компаратор и упорядочивает значения в потоке в соответствии с порядком , указанным в Компараторе .

Собирать Collect останавливает поток и помещает значения из потока в какую- то коллекцию , например Список .

toArray toArray() останавливает поток и возвращает массив с элементами, содержащимися в потоке.

Обычной задачей при использовании коллекции является извлечение элемента из потока. Они обычно используются после Фильтра и Карта , чтобы гарантировать, что найденный вами элемент соответствует некоторым критериям и имеет предпочтительный тип.

find Any() find Any() возвращает Необязательный содержащий элемент в потоке (или ничего, если поток пуст). Порядок здесь не соблюдается, особенно в ситуациях параллельного потока.

findFirst() findFirst() возвращает Необязательный , содержащий первый элемент в потоке (или ничего, если поток пуст). При использовании этого метода соблюдается порядок

max(Компаратор компаратора) max возвращает максимальный элемент потока для данного Компаратора

мин (компаратор компаратора) min возвращает минимальный элемент потока для данного компаратора

Другой распространенной задачей является определение того, соответствуют ли объекты некоторым заданным критериям. Эти методы “совпадений” указывают, соответствуют ли некоторые, ни один или все объекты в потоке заданным критериям.

Полное соответствие(предикат pred) Возвращает истину если все элементы в потоке соответствуют Сказуемое

Любое совпадение(предикат pred) Возвращает истину если какие-либо элементы в потоке соответствуют Сказуемое

Несоответствие(предикат pred) Возвращает истину если ни один элемент в потоке не соответствует Сказуемое

Время от времени поток оказывается не совсем “правильным” потоком. Эти методы создают новый поток с немного иными характеристиками, чем у старого потока, будь то другая длина, другая начальная точка или гарантия того, что содержатся только уникальные объекты.

distinct() distinct() создает новый поток, в котором есть только отдельные элементы (на основе .equals )

limit(int maxsize) limit(maxsize) создает новый поток путем усечения исходного потока, чтобы он был не длиннее maxSize.

пропустить(длинный n) Пропускает первые n элементов потока и создает новый поток из остальных

сортированный() Создает новый поток, в котором элементы сортируются в соответствии с естественным порядком

сортированный(Компаратор компаратора) Создает новый поток, в котором элементы сортируются в соответствии с Компаратором

Еще одной распространенной задачей при работе с коллекциями является определение некоторых характеристик коллекции в целом. API потока предоставляет метод, позволяющий определить, насколько велик данный поток.

count() count() подсчитывает количество элементов в потоке

Если вам это нравится, посетите мой блог по программированию для получения дополнительных советов и рекомендаций

Кредиты

Спасибо Дону Лаванжу за фотографию потока

Оригинал: “https://dev.to/monknomo/java-8-stream-cheatsheet–oad”