Pretty-print a Map in Java
Have a look at the Guava library:
Joiner.MapJoiner mapJoiner = Joiner.on(",").withKeyValueSeparator("=");System.out.println(mapJoiner.join(map));
Or put your logic into a tidy little class.
public class PrettyPrintingMap<K, V> { private Map<K, V> map; public PrettyPrintingMap(Map<K, V> map) { this.map = map; } public String toString() { StringBuilder sb = new StringBuilder(); Iterator<Entry<K, V>> iter = map.entrySet().iterator(); while (iter.hasNext()) { Entry<K, V> entry = iter.next(); sb.append(entry.getKey()); sb.append('=').append('"'); sb.append(entry.getValue()); sb.append('"'); if (iter.hasNext()) { sb.append(',').append(' '); } } return sb.toString(); }}
Usage:
Map<String, String> myMap = new HashMap<String, String>();System.out.println(new PrettyPrintingMap<String, String>(myMap));
Note: You can also put that logic into a utility method.