Heim  >  Artikel  >  Java  >  Stream-API in Java 8: So verwenden Sie die Methode „map()“, um Transformationsvorgänge für Sammlungen durchzuführen

Stream-API in Java 8: So verwenden Sie die Methode „map()“, um Transformationsvorgänge für Sammlungen durchzuführen

WBOY
WBOYOriginal
2023-07-29 10:33:131676Durchsuche

Die Stream-API wurde in Java 8 eingeführt und bietet eine neue Möglichkeit, Datensammlungen zu betreiben. Mit der Stream-API können wir Sammlungen einfacher und flexibler bearbeiten, wobei die Methode „map()“ eine häufig verwendete Konvertierungsoperation ist.

Vor Java 8 müssen wir beim Konvertieren einer Sammlung normalerweise eine for-Schleife oder einen Iterator verwenden, um die Elemente in der Sammlung zu durchlaufen und sie dann einzeln zu verarbeiten. Durch die Verwendung der Map()-Methode des Streams können wir die Sammlung bequemer konvertieren und so den Vorgang vereinfachen.

Lassen Sie uns zunächst die Definition der Methode map() verstehen. Die Methode „map()“ ist eine Zwischenoperation in der Stream-API. Sie akzeptiert eine Funktion als Parameter. Diese Funktion wird auf jedes Element im Stream angewendet und einem neuen Element zugeordnet. Schließlich gibt die Methode map() den Stream zurück, der die neuen Elemente enthält.

Hier ist ein Beispielcode, der die Methode map() verwendet, um eine Sammlung zu transformieren:

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class MapExample {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);

        List<Integer> squaredNumbers = numbers.stream()
                .map(n -> n * n)
                .collect(Collectors.toList());

        System.out.println("原始集合: " + numbers);
        System.out.println("转换后的集合: " + squaredNumbers);
    }
}

Im obigen Beispielcode erstellen wir zunächst eine Sammlung von Zahlen, die ganze Zahlen enthält. Dann rufen wir die Methode stream() auf, um sie in einen Stream umzuwandeln. Als nächstes rufen wir die Methode map() auf und übergeben eine Funktion (n -> n * n) als Parameter. Diese Funktion ordnet jedes Element n im Stream dem Quadrat n zu. Abschließend verwenden wir die Methode Collect(), um die konvertierten Elemente in einer neuen Liste zu sammeln.

Führen Sie den obigen Code aus und die Ausgabe sieht wie folgt aus:

原始集合: [1, 2, 3, 4, 5]
转换后的集合: [1, 4, 9, 16, 25]

Wie Sie sehen können, wurde jedes Element im ursprünglichen Satz quadriert und die neuen Elemente wurden in einer neuen Liste gesammelt.

Zusätzlich zu den obigen Beispielen können wir die Methode map() auch verwenden, um komplexere Konvertierungsvorgänge zu implementieren. Sie können beispielsweise alle Zeichenfolgen in einer Zeichenfolgensammlung in Großbuchstaben umwandeln oder ein bestimmtes Attribut eines Objekts in einer Sammlung extrahieren, um eine neue Sammlung zu bilden usw. Die Methode map() kann Elemente gemäß der von uns übergebenen Funktionslogik konvertieren und ist sehr flexibel.

Zusammenfassend bietet die Stream-API in Java 8 eine bequeme Möglichkeit, Konvertierungsvorgänge für Sammlungen durchzuführen. Die Methode „map()“ ist eine ihrer Kernmethoden. Sie kann die Elemente im Stream gemäß der von uns übergebenen Funktion neuen Elementen zuordnen und den Stream mit den neuen Elementen zurückgeben. Durch die Verwendung der Methode „map()“ können wir Sammlungen präziser und flexibler konvertieren und so die Lesbarkeit und Wartbarkeit des Codes verbessern.

Das obige ist der detaillierte Inhalt vonStream-API in Java 8: So verwenden Sie die Methode „map()“, um Transformationsvorgänge für Sammlungen durchzuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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