2017-03-24 6 views
1

文字列の配列リストがあるとします。 Function ensureCapacity()を使用して容量を50に設定しました。trimtosize()関数はArrayListのensureCapacity()関数で機能しますか

しかし、10個の文字列要素を追加して残りの40個のメモリを無駄にします。

その後、私はtrimToSize()機能を使用します。

私の質問は「trimToSize()関数は40個のメモリを節約しますか」です。

答えて

1

Java ArrayListには、trimToSize()のようなあなたが言及しているメソッドがあるので、私はあなたがJavaについて話していると仮定します。そのメソッドのjavadocから引用します:

このArrayListインスタンスの容量をリストの現在のサイズに切り捨てます。アプリケーションはこの操作を使用して、ArrayListインスタンスの記憶域を最小限に抑えることができます。

したがって、答えは「はい」です。

あなたのことを覚えておいてください。これは、40個のオブジェクト参照に必要なスペースを「節約」します。したがって、ストア文字列、整数、またはバイト[]オブジェクトがそのリストに必要な場合は、実際には関係ありません。

それ以降:リソースが重大な環境ではない限り、いくつかの組み込みシステムのように、約40のリストスロットを心配するべきではありません。おそらく約100K;または1,000万スロット。しかし約40はありません。

+0

ありがとうございます... –

関連する問題