mam coś takiego:Strumień Java. Podsumowując dwa pola w strumieniu obiektów
Integer totalIncome = carDealer.getBrands().stream().mapToInt(brand -> brand.getManufacturer().getIncome()).sum();
Integer totalOutcome = carDealer.getBrands().stream().mapToInt(brand -> brand.getManufacturer().getOutcome()).sum();
Jak mogę napisać, że w jeden strumień? zebrać f.e. Pair<Integer, Integer>
z totalIncome
i totalOutcome
?
EDYCJI:
Dziękujemy wam za komentarze, odpowiedzi i involvment. Miałbym pytanie o inne podejście do tego problemu z wykorzystaniem strumieni. Co o tym myślisz:
Czy chodziło Ci 'powrócić nowej pary <> (totalIncome, totalOutcome);'? –
Tak, ale wydaje mi się, że wywołanie strumienia dwa razy nie jest wydajne (po raz pierwszy dla 'dochodów' i po raz drugi dla' wyniku'). Zastanawiałem się, czy mógłbym dołączyć do nich, aby ostatecznie uzyskać tylko jeden strumień, który zwraca sumę "dochodu" i sumy "wyniku"? – user3529850
Jeśli chcesz, abyś zrobił iterację po użyciu pętli i zwiększaj dwie sumy w oparciu o dwa pola. – Pshemo