繁体   English   中英

StringBuilder 如何大幅减少 Java 程序花费的时间?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM