2016-11-25 74 views
0

我們如何將多值地圖轉換爲CSV,我可以使用單個鍵值地圖。但面對多值地圖的問題。 我用這個將多值地圖轉換爲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參數我會怎麼做呢?

回答

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 
}