Ich habe ein Map<String,String>
mit einer großen Anzahl von Schlüsselwertpaaren. Jetzt möchte ich ausgewählte Schlüssel daraus entfernen Map
. Der folgende Code zeigt, was ich getan habe, um das zu erreichen.
Set keySet = new HashSet(); //I added keys to keySet which I want to remove.
Dann :
Iterator entriesIterator = keySet.iterator();
while (entriesIterator.hasNext()) {
map.remove( entriesIterator.next().toString());
}
Das funktioniert. Ich möchte nur wissen, wie ich meine Anforderungen besser erfüllen kann.
Nur der Vollständigkeit halber:
Wie vermutet,
java.util.AbstractSet#removeAll
iteriert es wirklich über alle Einträge, aber mit einem kleinen Trick: Es verwendet den Iterator der kleineren Sammlung:quelle
Verwenden von Java Stream:
quelle