java - 打印多个字符串与连接它们并一次打印

标签 java

在效率和原始性能方面,如果我想打印出一个 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。您在某一点上会非常非常慢。提示:使用 StringBuilderStringBuffer

enter image description here

关于java - 打印多个字符串与连接它们并一次打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495168/

相关文章:

java - JavaFX WebEngine 中的 Google map 热图错误

java - Android 通过 Intent 播放 http 视频 - 传递 http header

java - 设置 JColorChooser 的选定颜色

java - JPA 存储库方法 List<Integer> 返回结果为 List<BigDecimal> 为什么?

java - 如何创建专门用于使用 SharedPreferences 的类?

java - JOOQ 插入记录列表

java - 如何按字母顺序对随机生成的字符进行排序?

java - 如何使用 Selenium/Webdriver 自动化聊天应用程序?

Java:读取特定格式的字符串

java - Apache POI - Docx 输出问题