5

ConcurrentSkipListMapコンストラクターでHashMapinitial capacityのように設定できないのはなぜ ですか?

4

1 に答える 1

6

このデータ構造は、初期容量コンストラクターパラメーターが意味を持たない複数のLinkedListによってサポートされているためです。

HashMapは配列(連続したメモリスペース)に支えられており、このテーブルの初期サイズを超えると、HashMapはサイズが大きくなった新しいテーブルを再割り当てするため、初期容量を設定するのが理にかなっています。これは非常にコストがかかります。

于 2012-08-28T11:43:15.030 に答える