簡體   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