Double Possible:
Comment puis-je effectuer une itération sur chaque Entrée dans une Carte?Je veux effectuer une itération sur un treeMap, et pour tous " de la clé, qui ont une valeur particulière, je veux qu'ils soient ajoutés à une nouvelle TreeMap. Comment puis-je faire cela? Les exemples de Code serait préférée.
Réponses
Trop de publicités?
karim79
Points
178055
//create TreeMap instance
TreeMap treeMap = new TreeMap();
//add key value pairs to TreeMap
treeMap.put("1","One");
treeMap.put("2","Two");
treeMap.put("3","Three");
/*
get Collection of values contained in TreeMap using
Collection values()
*/
Collection c = treeMap.values();
//obtain an Iterator for Collection
Iterator itr = c.iterator();
//iterate through TreeMap values iterator
while(itr.hasNext())
System.out.println(itr.next());
ou:
for (Map.Entry<K,V> entry : treeMap.entrySet()) {
V value = entry.getValue();
K key = entry.getKey();
}
ou:
// Use iterator to display the keys and associated values
System.out.println("Map Values Before: ");
Set keys = map.keySet();
for (Iterator i = keys.iterator(); i.hasNext();) {
Integer key = (Integer) i.next();
String value = (String) map.get(key);
System.out.println(key + " = " + value);
}
Priyank Doshi
Points
3105
Jorn
Points
5202
À l'aide de Google Collections, en supposant que K est votre type de clé:
Maps.filterKeys(treeMap, new Predicate<K>() {
@Override
public boolean apply(K key) {
return false; //return true here if you need the entry to be in your new map
}});
Vous pouvez utiliser filterEntries
à la place si vous avez besoin de la valeur.