在效率和原始性能方面,如果我想打印出一个 string
列表,我应该先将它们全部连接起来,然后打印它们,还是应该一个一个地打印它们?
例如:
List<String> strings = whatever;
//Option 1
for(String s : strings){
System.out.println(s);
}
//Option 2
String output = "";
for(String s : strings){
output = output + s + "\n";
}
System.out.print(output);
选项 1 还是选项 2 更快?
最佳答案
首先,对于任何性能问题,您可以简单地自己测量
System.currentTimeMillis();
你应该在循环之前和循环之后运行它并检查结果。
其次,更重要的是:您的第二个选择是不,不!永远不要那样做。让我给你打个比方:假设你在路上画白线。你把你的油漆桶放在点 0 然后你画你的第一条线。然后,你回到你的桶里去拿更多的油漆,然后移到第二行。然后你回到点 0 得到更多的油漆并移动到绘制第 3 条线。等等等等。
在某种程度上,不是随身携带水桶,而是将其留在点 0。您在某一点上会非常非常慢。提示:使用 StringBuilder或 StringBuffer
关于java - 打印多个字符串与连接它们并一次打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495168/