How to I print information from a map that has the object as the value?
I have created the following map:
Map<String, Object> objectSet = new HashMap<>();
The object has its own class with its own instance variables
I have already populated the above map with data.
I have created a printMap
method, but I can only seem to print the Keys of the map
How to do I get the map to print the <Object>
values using a for each loop?
So far, I've got:
for (String keys : objectSet.keySet())
{
System.out.println(keys);
}
The above prints out the keys. I want to be able to print out the object variables too.
I'm sure there's some nice library that does this sort of thing already for you... But to just stick with the approach you're already going with, Map#entrySet
gives you a combined Object
with the key
and the value
. So something like:
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue().toString());
}
will do what you're after.
If you're using java 8, there's also the new streaming approach.
map.forEach((key, value) -> System.out.println(key + ":" + value));