В Java 8 потоки — это мощная функция, позволяющая работать с коллекциями данных функциональным и декларативным способом. Потоки предоставляют удобный и эффективный способ выполнения операций с данными, таких как фильтрация, сопоставление и сокращение. Вот некоторые типы потоков в Java 8 и примеры методов, которые вы можете использовать:
-
IntStream: используется для работы с потоками примитивных целых чисел.
IntStream.range(1, 10) // Generates a stream of integers from 1 to 9 .forEach(System.out::println); // Prints each integer -
LongStream: используется для работы с потоками примитивных длинных значений.
LongStream.rangeClosed(1, 5) // Generates a stream of long values from 1 to 5 (inclusive) .map(x -> x * x) // Squares each value .forEach(System.out::println); // Prints each squared value -
DoubleStream: используется для работы с потоками примитивных значений типа double.
DoubleStream.of(1.2, 2.3, 3.4, 4.5) // Generates a stream of double values .filter(x -> x > 2.0) // Filters values greater than 2.0 .forEach(System.out::println); // Prints filtered values -
Stream\
: используется для работы с потоками не примитивных объектов. List<String> names = Arrays.asList("John", "Jane", "Adam", "Eve"); names.stream() // Generates a stream of strings .filter(name -> name.startsWith("J")) // Filters names starting with "J" .forEach(System.out::println); // Prints filtered names
Это всего лишь несколько примеров методов, которые можно использовать с потоками в Java 8. Доступно множество других методов, таких как map, flatMap, уменьшить, собрать, различать, sortedи так далее. Эти методы позволяют выполнять различные операции с элементами потока.