Map-Filterung in Java

Haider Ali 12 Oktober 2023
Map-Filterung in Java

Wir werden lernen, wie man Map-Werte in der Programmiersprache Java filtert. Es gibt zwei Methoden, mit denen Sie diese Aufgabe erledigen können. Werfen wir einen Blick auf sie.

Map-Filterung in Java

Die zwei Methoden, die wir zum Filtern einer Karte verwenden können, sind entrySet() und getKey(). In der ersten Methode entrySet() filtern wir die Karte anhand von Werten.

Wir verwenden das vollständige Schlüssel-Wert-Paar in der zweiten Methode getKey(). Die Verfahren sind etwas komplex und beinhalten mehrere Umwandlungen.

entrySet()

Die Methode entryset() gibt einen Wert zurück. Wir können einen Wert einfügen und prüfen, ob dieser Wert in einer Map vorhanden ist oder nicht. Sehen Sie sich den folgenden Code an.

import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
  public static void main(String[] args) {
    String result = "";
    Map<Integer, String> Country = new HashMap<>();
    Country.put(1, "Canada"); // Inserting Value
    Country.put(2, "UnitedStates"); // Inserting Value
    Country.put(3, "UnitedKingdom"); // Inserting Value
    Country.put(4, "Argentina"); // Inserting Value

    // Map -> Stream -> Filter -> String   //Filter Using Map Value
    result = Country.entrySet()
                 .stream()
                 .filter(map -> "Argentina".equals(map.getValue()))
                 .map(map -> map.getValue())
                 .collect(Collectors.joining());
    System.out.println("Filtered Value Is ::" + result);
  }
}

Ausgabe:

Filtered Value Is ::Argentina

Die Codezeile, die einen Wert filtert, ist ziemlich lang. Wie oben erwähnt, wandeln wir Werte aus einer Map in einen Stream um. Dann filtern wir diesen Stream und speichern den gefilterten Wert in einem String – die stream-Methode wandelt set in stream um. Die Methode filter filtert den Wert aus der Karte.

getKey()

Die Methode getKey() gibt das komplette Schlüssel-Wert-Paar zurück. Anstatt einen Wert abzugleichen, nehmen wir den Wert mit seinem Schlüssel heraus. Das vollständige gefilterte Schlüssel-Wert-Paar wird in einer anderen Karte gespeichert und später gedruckt. Sehen Sie sich den folgenden Code an.

import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
  public static void main(String[] args) {
    String result = "";
    Map<Integer, String> Country = new HashMap<>();
    Country.put(1, "Canada"); // Inseting Value
    Country.put(2, "UnitedStates"); // Inserting Value
    Country.put(3, "UnitedKingdom"); // Inserting Value
    Country.put(4, "Argentina"); // Inserting Value

    // Filter Using Map Value
    Map<Integer, String> pair =
        Country.entrySet()
            .stream()
            .filter(map -> map.getKey().intValue() == 1)
            .collect(Collectors.toMap(map -> map.getKey(), map -> map.getValue()));
    System.out.println("Pair Is : " + pair);
  }
}

Ausgabe:

Pair Is : {1=Canada}

Um die Konzepte konkret zu verstehen, sollten Sie die folgenden Links besuchen.

Erfahren Sie mehr über Streams hier und erfahren Sie mehr über Maps hier.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Verwandter Artikel - Java Map