J'ai une table de hachage en java et souhaitez parcourir toutes les valeur dans le tableau, supprimer une clé,valeur paire lors de l'itération. Est-il une manière que je pourrais le faire
Réponses
Trop de publicités?Vous avez besoin d'utiliser explicite java.util.Iterator
d'itérer sur l' Map
s'entrée de jeu plutôt que d'être en mesure d'utiliser le renforcement de la boucle For de la syntaxe disponible dans la version 6 de Java. L'exemple suivant effectue une itération sur un Map
de Integer
, String
paires, la suppression d'une entrée dont l' Integer
clé est nul ou égal à 0.
Map<Integer, String> map = ...
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> entry = it.next();
// Remove entry if key is null or equals 0.
if (entry.getKey() == null || entry.getKey() == 0) {
it.remove();
}
}
Vous pouvez utiliser un temporaire de la liste de suppression:
List<String> keyList = new ArrayList<String>;
for(Map.Entry<String,String> entry : hashTable){
if(entry.getValue().equals("delete")) // replace with your own check
keyList.add(entry.getKey());
}
for(String key : keyList){
hashTable.remove(key);
}
Vous pouvez trouver plus d'informations sur la table de hachage des méthodes de l' API Java