Потоки Java

  • Добавлено в Java 8
  • Оболочка вокруг источника данных, позволяющая нам работать с этим источником данных и ускорять массовую обработку.
  • Поток не хранит данные (не структуру данных)
  • Не изменяет подчиненный источник данных
  • java.util.stream поддерживает операции функционального стиля, такие как преобразование map-reduce в коллекциях.

Создание трансляции:

Ниже приведены 3 популярных метода создания java Stream.

1)

collection.stream() -: eg: emparray.stream()

2)

Stream.of(emparray[0], emparray[1], emparray[2]);

3)

StreamBuilder empStreamBuilder = Stream.builder(); empStreamBuilder.accept(emparray[0]); empStreamBuilder.accept(emparray[1]); empStreamBuilder.accept(emparray[2]);

Stream empStream = empStreamBuilder.build();

Потоковые операции:

forEach — перебирает элементы потока, вызывая предоставленную функцию для каждого элемента.

Приведенный ниже код фактически вызывает incrementSalary для каждого элемента empList.

@Test public void whenIncrementSalaryForEachEmployee_thenApplyNewSalary() { empList.stream().forEach(e -> e.incrementSalary(10.00)); assertThat(empList, contains( hasProperty("salary",110000), hasProperty("salary", 210000), hasProperty("salary", 3100000) ));

}

Другие методы

карта

собирать

фильтр

найдипервый

toArray

квартираКарта

подглядывать

Потоковые операции разделены на 2;

  1. Средний
  • Возвращает другой поток
  • Например: фильтр()

2) Терминал

  • Поток потребляется
  • Например: для каждого()

Примечание: если вам нравится эта история, пожалуйста, подпишитесь и поделитесь аплодисментами :-)