Aktywne Wpisy

G0ntar +4
Na Jakie popularne/lubiane zapachy zareagowaliście najgorzej? Albo totalnie wam nie siedzą ? U mnie to Gris Charnel extrait i PDM Pegasus.
#perfumy
#perfumy

Skopiuj link
Skopiuj link

Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Mirki, chcę zmapować w streamie pewne obiekty dodając do nich kilka informacji. Stworzyłem sobie rozszerzoną klasę o potrzebne pola:
Było:
class User{int id;
String name;
int age;
A teraz będzie:
class User2{int id;
String name;
int age;
boolean hasDog;
Date birthday;
}
Problem w tym, że aby ustawić hasDog i birthday - muszę pobrać z repozytorium dane i je przetworzyć.
Zrobiłem więc dwie metody: do ustawiania hasDog i birthday.
Mogę to zmapować tak:
List newUsers = oldUsers.getUsers.stream.map(u -> new User2(u.name, u.age, hasUserDog(u.id), setBirthday(u.id)).collect(toList());Problem w tym, że w metodzie hasUserDog i setBirthday - pobieram te same dane (rekord dla użytkownika o danym id).
Czy można pobrać te dane w tym streamie -> a następnie je wrzucić do moich dwóch metod - tak, by nie pobierać dwa razy tego samego?
Z góry dzięki :)
Komentarz usunięty przez autora
oldUsers.getUsers.stream.map(fetchUser -> repo.findUser(int id).
map(u -> new User2(u.name, u.age, hasUserDog(fetchUser), setBirthday(fetchUser)).collect(toList()); - tak by raz pobrać dane z bazy i wrzucić do tych dwóch metod to samo. Macie jakiś pomysł?
oldusers.stream.foreach(WiecejInfo wiecejInfo -> repoWiecejInfo.getData(user.id)...) chciałbym pobrać raz te dane, zamiast robić to osobno w metodach