[java] Printing a java map Map<String, Object> - How?

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.

This question is related to java hashmap

The answer is


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));

Similar questions with java tag:

Similar questions with hashmap tag: