Java 8 Primitives Stream

FacebooktwittertumblrFacebooktwittertumblr

Данная статья написана командой Vertex Academy. Это одна из статей из нашего Учебника по Java 8. Надеемся, что данная статья Вам будет полезна. Приятного прочтения!


В этой статье мы рассмотрим создание Stream-а примитивов в Java 8

1. Введение

Stream API  - новый способ взаимодействия с данными, представляя их в виде конечного потока данных.

В Java 8 создание Stream-ов примитивов напрямую невозможно, из-за дженериков. Но разработчики сделали 3 Stream-а примитивов : IntStream, LongStream, DoubleStream.

С ними мы сегодня и научимся работать.

2. Creating Primitives Stream

Для создание Stream-а примитивов можно воспользоваться одним из методов

2.1 Creating using .of

2.2 Creating using range

При использовании метода range мы указываем 2 параметра, startInclusive и endExclusive, после чего у нас генирируется Stream в указаном диапазоне. DoubleStream данный метод не поддерживают.

2.3 Creating using rangeClosed

Метод схож с предыдущим за одним исключением, диапазон теперь включает последнеее значение.

3. Промежуточные операции

Промежуточные операции такие же как в обычных Stream-ах, но так же есть множество особенных. Мы рассмотрим только несколько.

3.1 asIntStream, asLongStream, asDoubleStream

IntStream можно преобразовать в LongStream, либо в DoubleStream. LongStream только в DoubleStream. DoubleStream назад не преобразовывается.

3.2 toArray

Все примитивные стримы можно преобразовать в массив примитивов

4. Терминальные операции

Терминальные операции взяты из Stream-ов объектов, но так же есть особенные, мы рассмотрим только несколько.

4.1 Sum

4.2 Average

Получить среднее значение довольно легко, однаку нужно помнить что метод average возвращает OptionalDouble, обертку над double, а не само значение.

4.3 forEach

Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Детальную информацию Вы можете найти у нас на сайте.

 

FacebooktwittertumblrFacebooktwittertumblr

FacebooktwittertumblrFacebooktwittertumblr
Самоучители--узнать детальнее--