Je cherche une façon agréable d'imprimer une Map
.
map.toString()
me donne : {key1=value1, key2=value2, key3=value3}
Je veux plus de liberté dans les valeurs d'entrée de mes cartes et je cherche quelque chose comme ça : key1="value1", key2="value2", key3="value3"
J'ai écrit ce petit bout de code :
StringBuilder sb = new StringBuilder();
Iterator<Entry<String, String>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Entry<String, String> 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();
Mais je suis sûr qu'il existe un moyen plus élégant et plus concis de le faire.
2 votes
Duplicata possible de Carte vers chaîne en Java parce que le format demandé ici et celui de
System.out.println
sont trop proches. Et si vous voulez quelque chose de personnalisé, cela se résume à "comment itérer sur une carte en Java" qui a certainement beaucoup d'autres réponses.