java - 从 ArrayList<String> 矩阵创建制表符分隔的 .txt 表

标签 java performance arraylist csv

我目前正致力于从 ArrayList<String> 为 Excel 创建制表符分隔的表格Java 中的矩阵。

矩阵是一个List<List<String>目前我正在添加 "\t"到矩阵中的每个字符串和 "\n"到每行的最后一个元素。我用 for循环这样做。

对于 1500 x 3000 的矩阵,此过程需要大量时间(120 秒)。

还有什么更好的方法来解决这个问题以减少时间?

最佳答案

不确定你的矩阵是哪种方式,但我想可以像这样构建。在这里看不到任何明显的开销。

private final List<List<String>> matrix;
private final String SEPARATOR = "\t";
private final String END_OF_LINE = "\n";

public TSVFormatter(List<List<String>> matrix) {
    this.matrix = matrix;
}

public String doParse() {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < matrix.size(); i++) {
        for (int o = 0; o < matrix.get(i).size(); o++) {
            sb.append(matrix.get(i).get(o));
            if (o <( matrix.get(i).size()-1))
                sb.append(SEPARATOR);
            else
                sb.append(END_OF_LINE);
        }
    }
    return sb.toString();
}

关于java - 从 ArrayList<String> 矩阵创建制表符分隔的 .txt 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18882381/

相关文章:

java - 在 Java 中,您可以在迭代 List 时修改它吗?

java - 启动从文件导出的 Eclipse 程序

c++ - 如何重载operator new来实现类的快速分配器?

c++ - 如何优化 vector 的二分查找?

java - 重置计数器或让它增加并使用模数是否更有效

java - 列表java中的相等值

java - 计算解决方案级别的转换

java - java 中的抽象类 getter 和 setter

java - 如何避免 hierynomus ssh 中的非法 key 大小警告

java - 将字符串的 ArrayList 拆分为另一个字符串的 ArrayList,返回类型为 List,而不是 void