powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Stream использование переменной
6 сообщений из 6, страница 1 из 1
Stream использование переменной
    #40039907
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правильно использовать переменную в stream, которая была выше?

Код: java
1.
2.
3.
4.
5.
6.
7.
List.stream()
   .map(dto -> ...)
   .map(...)
   .map(...)
   .map(...)
   .map(child -> func(dto))
...



Маленький пример
...
Рейтинг: 0 / 0
Stream использование переменной
    #40039927
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-, Если я правильно понимаю стримы, то у нас:
1) В начале стрима "вылетает" элемент, который передается в метод map(dto -> ...), где он изменяется.
2) Измененное значение из пункта 1 передается в следующий метод map(...), где измененное значение изменяется еще раз .
3) И так повторяется до самого последнего метода map(child -> func(dto)), куда передается многократноизмененное состояние первоначального значения элемента стрима. А первоначальное состояние к этому моменту теряется.

Как я вижу решение:
1) Каким то образом тащим первоначальное состояние элемента через весь масиив методов стрима до последнего метода map(child -> func(dto)).
2) Или где то отдельно рассчитываем func(dto) например в Map<dto_id, value>, а в стриме тогда делаем что то типа:
Код: java
1.
2.
3.
4.
5.
6.
7.
List.stream()
   .map(dto -> ...)
   .map(...)
   .map(...)
   .map(...)
   .map(child -> map.get(child.getdto_id))
...
...
Рейтинг: 0 / 0
Stream использование переменной
    #40040081
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-
Как правильно использовать переменную в stream, которая была выше?

Код: java
1.
2.
3.
4.
5.
6.
7.
List.stream()
   .map(dto -> ...)
   .map(...)
   .map(...)
   .map(...)
   .map(child -> func(dto))
...



Маленький пример

то что справа от стрелки очевидно должно возвращать объект который содержит как результат так и сам входящий объект.
я бы сделал на скалке это через тапл. в джаве ну сделай просто объект и так везде это дто и пробрасывай сверху вниз до последнего шага.

но вообще, если тебе это надо то может ты как то не так процесс раскладываешь. либо сделай всё в одном мапе а не в 25-ти мапах.
...
Рейтинг: 0 / 0
Stream использование переменной
    #40040082
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Стрим это апи для работы с потоком данных,не очень понятно что именно ты хочешь сделать если честно
менять коллекцию чтобы потом использовать изначальное значение?)так не меняй тогда ее

очевидно что он хочет делать преобразования потока данных )))
...
Рейтинг: 0 / 0
Stream использование переменной
    #40040089
rsl_tr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-=Koba=-,
Код: java
1.
2.
3.
List.stream()
.peek(dto->...)
.peek(dto->...)
...
Рейтинг: 0 / 0
Stream использование переменной
    #40040194
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выглядит как то сайд эффектно)) пиик для логгинга обычно используют а не для мутации внешних объектов
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Stream использование переменной
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]