ホームページ >Java >&#&チュートリアル >Java の StringBuilder.ensureCapacity() 関数を使用して文字列バッファの最小容量を設定します

Java の StringBuilder.ensureCapacity() 関数を使用して文字列バッファの最小容量を設定します

WBOY
WBOYオリジナル
2023-07-24 17:37:491548ブラウズ

Java の StringBuilder.ensureCapacity() 関数を使用して、文字列バッファの最小容量を設定します

StringBuilder は、Java で提供される一般的な文字列操作クラスの 1 つであり、現在の文字列バッファに基づくことができます。 、削除、変更などの文字列に対する操作が実行され、String クラスよりも効率的かつ柔軟です。ただし、多数の文字列連結操作を実行する場合、StringBuilder のパフォーマンスもある程度影響を受けます。 StringBuilder のパフォーマンスを最適化するために、ensureCapacity() 関数を使用して文字列バッファーの最小容量を設定し、展開の数を減らし、操作効率を向上させることができます。

ensureCapacity(int minimumCapacity) は StringBuilder クラスのメソッドで、StringBuilder の容量が少なくとも指定された値 minimumCapacity に達することを保証するために使用されます。 StringBuilder の現在の容量が minimumCapacity より小さい場合、minimumCapacity のサイズまで自動的に拡張されます。このようにして、多数の文字列操作を実行するときに、容量を頻繁に拡張する必要がなくなり、時間とリソースが節約されます。

以下は、ensureCapacity() 関数を使用して StringBuilder 文字列バッファの最小容量を設定する方法を示すサンプル コードです。

public class StringBuilderExample {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();

        // 添加10000次字符串操作,测试扩容次数
        long startTime = System.currentTimeMillis();
        for (int i = 0; i < 10000; i++) {
            sb.append("hello");
        }
        long endTime = System.currentTimeMillis();
        System.out.println("未设置最小容量,耗时:" + (endTime - startTime) + "ms");

        sb = new StringBuilder();
        sb.ensureCapacity(50000); // 设置最小容量为50000

        startTime = System.currentTimeMillis();
        for (int i = 0; i < 10000; i++) {
            sb.append("hello");
        }
        endTime = System.currentTimeMillis();
        System.out.println("设置最小容量为50000,耗时:" + (endTime - startTime) + "ms");
    }
}

上記のコードを実行すると、次の内容が得られます。出力:

未设置最小容量,耗时:8ms
设置最小容量为50000,耗时:5ms

多数の文字列操作を実行する場合、最小容量を 50000 に設定した StringBuilder の方が、最小容量を設定していない StringBuilder よりも時間がかからないことがわかります。これは、最小容量を設定した後は、StringBuilder が頻繁に展開操作を行う必要がなくなり、作業効率が向上するためです。

実際のアプリケーションでは、特定の状況に応じて最小容量を合理的に設定する必要があることに注意してください。文字列操作の数が正確にわかっている場合は、経験に基づいて最小容量を操作数よりわずかに大きい適切な値に設定できます。ただし、操作の数を決定できない場合は、いくつかのルールまたは経験を通じて最小容量を設定し、多数の文字列操作が実行されるときに StringBuilder のパフォーマンスを確実に向上させることができます。

概要:
この記事では、Java の StringBuilder.ensureCapacity() 関数を使用して文字列バッファの最小容量を設定し、StringBuilder のパフォーマンスを向上させる方法を紹介します。最小容量を適切に設定することで、展開回数を減らし、文字列操作の効率を向上させることができます。実際のアプリケーションでは、多数の文字列を操作するときに StringBuilder の利点を確実に活用できるように、特定の状況に応じて最小容量を合理的に設定する必要があります。

以上がJava の StringBuilder.ensureCapacity() 関数を使用して文字列バッファの最小容量を設定しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。