Heim > Java > javaLernprogramm > Wie kann ich eine verschachtelte Liste in Java 8 effizient reduzieren?

Wie kann ich eine verschachtelte Liste in Java 8 effizient reduzieren?

Patricia Arquette
Freigeben: 2024-12-20 02:58:09
Original
384 Leute haben es durchsucht

How Can I Efficiently Flatten a Nested List in Java 8?

Verschachtelte Listen in Java 8 reduzieren

Gegeben eine Liste> Bei möglicherweise verschachtelten Listen müssen Sie diese möglicherweise zu einem einzigen List zusammenführen. Dadurch bleibt die ursprüngliche Iterationsreihenfolge erhalten. Um dies in Java 8 effizient zu erreichen, sollten Sie den folgenden Ansatz in Betracht ziehen:

Verwendung von flatMap und Collectors

Nutzen Sie die Leistungsfähigkeit der flatMap-Operation von Java 8, um die verschachtelten Listen in eine zu reduzieren einzelner Stream. Der Prozess umfasst das Konvertieren jeder internen Liste in einen Stream mit List::stream und das anschließende Reduzieren mit flatMap.

Um die ursprüngliche Reihenfolge der Elemente beizubehalten, können Sie das Ergebnis mit Collectors.toList() sammeln, wodurch erstellt wird eine neue Liste aus dem abgeflachten Stream, um sicherzustellen, dass die Reihenfolge der Elemente beibehalten wird.

Code Beispiel:

List<List<Object>> list = ...; // Initialize your nested list

List<Object> flat = list.stream()
        .flatMap(List::stream)
        .collect(Collectors.toList());
Nach dem Login kopieren

Dieser Code wandelt zunächst die verschachtelten Listen in Streams um, glättet sie mit flatMap zu einem einzigen Stream und sammelt schließlich das Ergebnis in einem neuen List namens flat, das alle Objekte aus der ursprünglichen verschachtelten Liste in derselben Iterationsreihenfolge enthält.

Das obige ist der detaillierte Inhalt vonWie kann ich eine verschachtelte Liste in Java 8 effizient reduzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage