Javaでのcapacityの使い方は何ですか?
Javaにおいて、capacityは通常、コレクションクラス(例えばArrayListやHashMapなど)の初期容量のサイズを指定するために使用されます。容量とは、コレクションが保持できる要素の最大数のことであり、現在のコレクションに含まれている実際の要素の数ではありません。
集合オブジェクトを作成する際には、初期容量を指定することでパフォーマンスを向上させることができます。コレクションがどの程度の要素を含むか事前に知っている場合は、capacityパラメータを使用して初期容量を設定することで、内部での再割り当て回数を減らし、要素の挿入や検索の効率を向上させることができます。
例えば、ArrayListを作成する際には、指定された容量のコンストラクタを使用することができます。
ArrayList<String> list = new ArrayList<>(10);
したがって、ArrayListは最初に10個の要素を収容できる空間を予約し、要素数が10を超えると、必要に応じて自動的に拡張されます。
注意すべきは、容量は実際に集合に保存される要素の数を制限するものではなく、性能向上のためにあらかじめ一定のスペースを確保するだけであることです。もし要素数が容量を超える場合、自動的に容量が拡張され、さらに多くの要素を収容できるようになります。