Mam Map<String,String>
dużą liczbę par klucz-wartość. Teraz chcę usunąć z tego wybrane klucze Map
. Poniższy kod pokazuje, co zrobiłem, aby to osiągnąć.
Set keySet = new HashSet(); //I added keys to keySet which I want to remove.
Następnie :
Iterator entriesIterator = keySet.iterator();
while (entriesIterator.hasNext()) {
map.remove( entriesIterator.next().toString());
}
To działa. Chcę tylko wiedzieć, jaki byłby lepszy sposób na spełnienie moich wymagań?
Tylko ze względu na kompletność:
Jak się domyślam,
java.util.AbstractSet#removeAll
dokonuje iteracji po wszystkich wpisach, ale z jedną małą sztuczką: używa iteratora mniejszej kolekcji:źródło
Korzystanie ze strumienia Java:
źródło