gpt4 book ai didi

Java数据类型问题

转载 作者:行者123 更新时间:2023-12-01 16:41:23 25 4
gpt4 key购买 nike

我正在java中使用矩阵。 (另一个故事:))

我想读取 CSV 文件并将其存储在变量中。我将操作值,然后再次将其存储在 CSV 文件中。我使用 STRING 作为数据类型。但是如果 CSV 文件有大约 500 列。它会降低我的程序速度:(。我认为这不是好的数据类型。我可以使用哪种数据类型来临时存储 LONG TEXT?

如果我的问题不清楚,请提问。我会解释。谢谢

P.S:我正在读取一行并将其存储在这样的变量中

String str;

str += read line by line from CSV;

这是循环

String reduceM="";

for(int kk=0;kk<W2.getRowDimension();kk++){
for(int jj=0;jj<W2.getColumnDimension();jj++){
reduceM += Double.toString(reduceMatrix[kk][jj]);
}
System.out.println("\r\n");
}

最佳答案

使用 StringBuilder(如果您使用的是 Java 1.5 或更早版本,则使用 StringBuffer):

StringBuilder builder = new StringBuilder();
for (int kk = 0; kk<W2.getRowDimension(); kk++) {
for(int jj = 0; jj < W2.getColumnDimension(); jj++) {
builder.append(reduceMatrix[kk][jj]);
}
}

这将避免为两个循环的每次迭代创建一个新的(并且越来越长)字符串。

但是,此代码中没有逗号或换行符 - 我怀疑您实际上想要这样的东西:

StringBuilder builder = new StringBuilder();
for (int kk = 0; kk < W2.getRowDimension(); kk++) {
for (int jj = 0; jj < W2.getColumnDimension(); jj++) {
builder.append(reduceMatrix[kk][jj])
.append(",");
}
builder.append("\n"); // Or whatever line terminator you want
}

请注意,这会在每行末尾留下一个额外的逗号 - 如果您想了解如何删除它,请告诉我。

参见this article为什么这可以极大地提高你的运行时间。 (请注意,这是一篇旧文章,讨论的是 StringBuffer 而不是 StringBuilder - 后者只是前者的不同步版本。)

关于Java数据类型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2180373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com