So behalten Sie die Liste aller Listen mit stream reduce bei

7

Ich sah folgendes Problem. Ich habe eine Liste von Listen, die ich einfach behalten möchte. Ich versuche mit Streams zu tun

%Vor%

leider habe ich den Fehler

%Vor%     
pezetem 23.04.2015, 14:26
quelle

2 Antworten

4

addAll gibt einen booleschen Wert zurück, nicht die Vereinigung der beiden Listen. Du willst

%Vor%     
lbalazscs 23.04.2015, 14:30
quelle
22

Wenn du die Liste der Listen reduzieren willst (ich meine, du meinst, dass sie flacher ist), solltest du es so machen:

%Vor%

Bei Verwendung von reduce sollte der erste Wert der Identitätswert sein, was in Ihrer Implementierung nicht der Fall ist. Ihre Lösung führt zu unerwarteten Ergebnissen, wenn der Stream parallel ausgeführt wird (weil addAll die Liste an Ort und Stelle ändert) In diesem Fall ist der Identitätswert die gleiche Liste für Teilergebnisse.

Sie müssten den Inhalt der unvollständigen Ergebnisliste kopieren und die andere Liste hinzufügen, damit sie funktioniert, wenn die Pipeline parallel ausgeführt wird:

%Vor%     
Alexis C. 23.04.2015 14:33
quelle

Tags und Links