Типы потоков в Java 8 и примеры потоковых методов

В Java 8 потоки — это мощная функция, позволяющая работать с коллекциями данных функциональным и декларативным способом. Потоки предоставляют удобный и эффективный способ выполнения операций с данными, таких как фильтрация, сопоставление и сокращение. Вот некоторые типы потоков в Java 8 и примеры методов, которые вы можете использовать:

  1. IntStream: используется для работы с потоками примитивных целых чисел.

    IntStream.range(1, 10)  // Generates a stream of integers from 1 to 9
         .forEach(System.out::println);  // Prints each integer
  2. 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
  3. 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
  4. 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и так далее. Эти методы позволяют выполнять различные операции с элементами потока.