首页 > 解决方案 > 如何编写不带括号的 ArrayList

问题描述

我想创建一个以逗号作为分隔符的 csv 文件。我尝试以下代码:

ArrayList<ArrayList<String>> m_arrAllStats= new ArrayList<ArrayList<String>>();
PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
pw.println("");
m_arrAllStats
    .stream()
    .filter(m -> (m.size() > 0))
    .forEach(s -> pw.print(s + ","));

pw.println("");
pw.close();

但我得到的是用方括号括起来的数据:

[20/06 We, 20:00, amina, Dugus, aqqa, kksia, 1, 8, 39, 14, 25, 15, 17, 12, 3, 3, 5, 0, 9],

我该如何解决?

标签: javajava-8

解决方案


您正在打印列表而不是列表的元素。像这样的东西应该工作。

ArrayList<ArrayList<String>> m_arrAllStats= new ArrayList<ArrayList<String>>();
PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
pw.println("");
m_arrAllStats
    .stream()
    .filter(m -> (m.size() > 0))
    .forEach(s -> pw.print(String.join(",", s)));

pw.println("");
pw.close();

推荐阅读