I have a HashMap:
private HashMap example= new HashMap();
Now I would Like to run through all the values and print them.
I wrote this:
for (TypeValue name: this.example.keySet()){
System.out.println(name);
}
It doesn't seem to work.
What is the problem?
EDIT:
Another question: Is this collection zero based? I mean if it has 1 key and value will the size be 0 or 1?
解决方案
keySet() only returns a set of key in your hashmap , you should iterate this key set and the get the value from the hashmap using these keys .
In your example , the type of the hashmap 's key is TypeKey , but you specified TypeValue in your generic for-loop , so it cannot be compiled. You should change it to :
for (TypeKey name: example.keySet()){
String key =name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
If you don't require to print key value and just need the hashmap value , you can use others' suggestion .
Another question: Is this collection
is zero base? I mean if it has 1 key
and value will it size be 0 or 1?
The collection returned from keySet() is a Set.You cannot get the value from a Set using an index , so it is not an question whether it is zero-based or one-based. If your hashmap has one key , the keySet() returned will has one entry inside , and its size is 1.