Mapもろもろ

ここ数日WeakHashMapやらLinkedHashMapやらを使ってツールを作っている。
rt.jar内のソースも見ながら四苦八苦。
その中でふと思ったのだが、なんでここらへんのクラスはjava.ioパッケージ内のクラスみたいにデコレーターパターン?になっていないんだろか?
WeakHashMapを同期化したいがパフォーマンス劣化も気になるのでCollections.synchronizedMap()での全体同期ではなくConcurrentHashMapみたいな部分同期にしたいのだがさてどうしたものか?
ReentrantReadWriteLockを使って自分で読込みロックと書込みロックを駆使して実装するしかないのか?


・同期化のアルゴリズム(Collections.synchronizedMap()、ConcurrentHashMap)
・キーの同一性判断(HashMap、IdentityHashMap)
・列挙順の指定(TreeMap、LinkedHashMap)
・ガベージコレクタによるエントリの自動削除(WeakHashMap)
こういう機能を自由に組み合わせて使えるMapクラスがあってもいいような気がするが。