Найти в Дзене
DEBAGanov

Java 217. Какие методы в интерфейсе Stream?

Интерфейс Stream в Java предоставляет ряд методов, которые позволяют выполнять операции над элементами потока данных. Некоторые из этих методов:

  • filter(Predicate<T> predicate): фильтрует элементы потока на основе заданного условия, передаваемого в качестве аргумента в виде объекта типа Predicate.
  • map(Function<T, R> mapper): преобразует каждый элемент потока с помощью функции, передаваемой в качестве аргумента в виде объекта типа Function<T, R>.
  • flatMap(Function<T, Stream<R>> mapper): принимает функцию, которая преобразует каждый элемент потока в другой поток, и возвращает объединенный поток из всех полученных потоков.
  • distinct(): удаляет повторяющиеся элементы из потока.
  • sorted(): сортирует элементы потока по умолчанию в естественном порядке или с помощью компаратора.
  • limit(long maxSize): ограничивает количество элементов в потоке до указанного числа.
  • skip(long n): пропускает n элементов в потоке.
  • forEach(Consumer<T> action): выполняет действие для каждого элемента потока.
  • toArray(): возвращает массив, содержащий элементы потока.
  • reduce(BinaryOperator<T> accumulator): сворачивает элементы потока в один объект с помощью заданной функции, передаваемой в качестве аргумента в виде объекта типа BinaryOperator.
  • collect(Collector<T, A, R> collector): выполняет сбор элементов потока с помощью заданного коллектора, передаваемого в качестве аргумента в виде объекта типа Collector<T, A, R>.

Кроме этих методов, интерфейс Stream также содержит ряд дополнительных методов для работы с числами, строками, датами и временем, а также для преобразования данных в параллельный поток или обратно.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov