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.
Print HashMap Elements in Java This is the simplest way to print HashMap in Java. Just pass the reference of HashMap into the println() method, and it will print key-value pairs into the curly braces. See the example below.
The map implementations provided by the Java JDK don't allow duplicate keys. If we try to insert an entry with a key that exists, the map will simply overwrite the previous entry.
Map does not supports duplicate keys. you can use collection as value against same key. Because if the map previously contained a mapping for the key, the old value is replaced by the specified value.
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));
You may use Map.entrySet()
method:
for (Map.Entry entry : objectSet.entrySet()) { System.out.println("key: " + entry.getKey() + "; value: " + entry.getValue()); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With