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.
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