Назад к вопросам
СБЕР
Senior
7
Какие базовые классы и интерфейсы существуют для работы с потоками в Java?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Java для работы с потоками (Streams) в пакете java.util.stream существуют ключевые интерфейсы и классы:
- Stream<T> — основной интерфейс для последовательной обработки элементов. Позволяет выполнять операции фильтрации, преобразования, сортировки и агрегации.
- IntStream, LongStream, DoubleStream — специализированные интерфейсы для работы с примитивными типами, чтобы избежать автоупаковки.
- Collectors — класс с набором статических методов для сбора элементов потока в коллекции, строки, карты и т.д.
- StreamSupport — класс для создания потоков из источников, поддерживающих
Spliterator.
Для создания потоков часто используются методы:
Collection.stream()— для получения последовательного потока из коллекции.Collection.parallelStream()— для параллельного потока.
Пример использования:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream();
List<String> upper = stream.map(String::toUpperCase).collect(Collectors.toList());
Также для многопоточности в Java есть класс Thread и интерфейс Runnable, но это уже про параллельное выполнение, а не про Stream API.