Nachfolgende Karte, die beide Schlüssel / Wert-Paare als String hat, Schreiben Sie eine Logik, um alle Nullwerte aus Map zu filtern, ohne externe APIs zu verwenden?
Gibt es einen anderen Ansatz, als die gesamte Karte zu durchlaufen und die Werte herauszufiltern (die gesamte Karte zu durchlaufen und das Entry-Objekt zu bekommen und dieses Paar zu verwerfen)?
%Vor% Sie können die Methode java 8 Collection.removeIf
zu diesem Zweck:
Dies hat alle Werte entfernt, die null sind.
Wenn Sie Pre-Java 8 verwenden, können Sie Folgendes verwenden:
%Vor% Dies funktioniert, weil HashMap.values()
eine Ansicht der Werte und:
Die Sammlung [zurückgegeben von
HashMap.values()
] unterstützt das Entfernen von Elementen, wodurch das entsprechende Mapping über die Operationen Iterator.remove, Set.remove, removeAll, retainAll und clearance aus der Map entfernt wird
Oder Sie können es ohne explizite Iteration tun:
%Vor%Tags und Links java