[英]How does a StringBuilder reduce time a Java program takes drastically?
有两个 Java 代码片段。 下面分享一下——
1.
Collections.sort(al);
Iterator<Integer> it = al.iterator();
while(it.hasNext()){
sb.append(it.next());
sb.append("\n");
}
System.out.println(sb.toString());
2.
Collections.sort(al);
Iterator<Integer> it = al.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
分享上述程序花费的时间 - 1. 1.43 秒 2. 4.28 秒
我想知道 StringBuilder 有什么神奇的作用,有人可以指导吗?
减慢执行时间的不是您的 StringBuilder,而是您的 System.out.println() 语句。
它很慢,因为
必须将字节发送到控制台应用程序 -> 每个字符都必须使用真字体呈现(导致处理缓慢) -> 可能必须滚动显示区域以将新行附加到可见区域。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.