Filtrer les éléments d'une carte basée sur un sous-ensemble de ses clés sans itération sur l'ensemble de la chose
J'ai un Map<String, ArrayList>
et un Set<String>
. Est-il un moyen de "couper" les clés de la carte avec l'ensemble des chaînes telles que seules les paires avec la clé donnée rester, sans itération sur l'ensemble de la carte? Ma principale préoccupation est la performance et la ré-inventer la roue de quelque chose qui peut être fait de manière plus élégante.
Vous devez vous connecter pour publier un commentaire.
Viens de faire:
Que par la javadoc, les changements dans l'ensemble des clés se reflètent dans la carte.
Voici une démo:
KeySet
pris en chargeretainAll
. Donc utiles.D'élaborer sur BalusC excellente réponse, les valeurs() prend en charge retainAll() ainsi:
retailAll conserve les valeurs dupliquées aussi bien, comme vous pouvez vous attendre: