次のコードは、外部から内部11の容量、 ArrayListの外部でensureCapacity()を使用する必要がある場合はありますか?
ArrayList list = new ArrayList(11);
はなぜ、私は(パブリックメソッドensureCapacityを使用する必要があります/)を保証しますか?
なぜ公開されていないのですか? new ArrayList(n)
を呼び出す
public void ensureCapacity(int minCapacity) {
int minExpand = (elementData != DEFAULTCAPACITY_EMPTY_ELEMENTDATA)
// any size if not default element table
? 0
// larger than default for default empty table. It's already
// supposed to be at default size.
: DEFAULT_CAPACITY;
if (minCapacity > minExpand) {
ensureExplicitCapacity(minCapacity);
}
}
「?*なぜそれが維持され、公開*」ため「*公共一度、永遠に公共*」別名「*互換性*」。したがって、使用していない場合でも、*公開する必要がありました。 – Holger
'ensureCapacity'の使用は、マイクロ最適化です。膨大な量のデータを処理するパフォーマンス重視のコードを管理している場合を除き、使用する必要はありません。 –