Потоки 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;
- Средний
- Возвращает другой поток
- Например: фильтр()
2) Терминал
- Поток потребляется
- Например: для каждого()
Примечание: если вам нравится эта история, пожалуйста, подпишитесь и поделитесь аплодисментами :-)