並行マップ可変なコレクションの具象クラスハッシュテーブル弱ハッシュテーブル目次

弱ハッシュテーブル

弱ハッシュテーブルとはガベージコレクタがそのマップからキーへのリンクを辿らない特別な種類のハッシュマップです。 その結果キーおよび関連付けられた値は、もしキーへの他の参照が無い場合、マップから消えます。 弱ハッシュテーブルは高価な関数を同じキーで呼び出したときに結果を再利用したい場合に使うキャッシュのようなタスクに便利です。 もしキーと関数の結果を通常のハッシュマップに保持した場合、マップは際限無く成長し、キーは決してガベージになりません。 弱ハッシュマップを使うとこの問題を回避できます。 キーオブジェクトが辿れなくなるとすぐに、そのエントリは弱ハッシュマップから取り除かれます。 Scalaでの弱ハッシュマップは元となるJavaの実装java.util.WeakHashMapのラッパとしてクラスWeakHashMapにて実装されています。

続いては: 並行マップ


並行マップ可変なコレクションの具象クラスハッシュテーブル弱ハッシュテーブル目次