将多值映射转换为CSV

时间:2016-11-25 07:50:00

标签: java csv spring-boot hashmap

我们如何将多值映射转换为CSV,我可以使用单键 - 值映射。但面临多值图的问题。  我使用此

转换键值
 private String getCSVRow(Set<String> headers, Map<String, String> map) {
    List<String> items = new ArrayList<String>();
    for (String header : headers) {
        String value = map.get(header) == null ? "" : map.get(header).replace(",", "");
        items.add(value);
    }
    return StringUtils.join(items.toArray(), ",");
}

在此,如果我想将Map<String, List<String>>作为i参数,我该怎么做?

1 个答案:

答案 0 :(得分:0)

创建一个将List转换为String的方法,并从for循环调用该方法。所以你的代码变成了

for (String header : headers) {      
  String value = map.get(header) == null ? "" : generateStringFromList(map.get(header));
        items.add(value);
}


private String generateStringFromList(List<String> list) {
        // create the code here
}