Pretty-print a Map in Java Pretty-print a Map in Java java java

Pretty-print a Map in Java


Arrays.toString(map.entrySet().toArray())


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.