我目前正致力于从 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/