Записать HashMap в CSV-файл - PullRequest
0 голосов
/ 05 июня 2018

У меня есть хэш-карта с ключом String и списком (String) в качестве значений.

Например:

Key | Values
John | GroupName1,GroupName2,GroupName3
Nick | Groupname4,GroupName1

Я хотел бы написать эту хэш-картув CSV-файл, так что мой CSV-файл содержит строки, как показано ниже:

John,GroupName1,GroupName2,GroupName3    
Nick,Groupname4,GroupName1

Я пытался:

Map<String, List<String>> usersmap = (Map<String, List<String>>) model.get("users"); //this is my map
StringWriter output = new StringWriter();
ICsvListWriter listWriter;
listWriter = new CsvListWriter(output, CsvPreference.STANDARD_PREFERENCE);
for (Map.Entry<String, List<String>> entry : usersmap.entrySet()) {
    listWriter.write(entry.getKey(), entry.getValue());
}

, но мне это не кажется правильным.

1 Ответ

0 голосов
/ 05 июня 2018

Попробуйте преобразовать свой Список в строку через запятую, используя String.join(...)

listWriter.write(entry.getKey(), String.join(",", entry.getValue());

Документация Java:

https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#join-java.lang.CharSequence-java.lang.Iterable-

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...