MultiMapが完全に汎用的ではない理由はありますか?
containsEntry(Object key, Object value)
containsKey(Object key)
remove(Object key, Object value)
removeAll(Object key)
グアバのマルチマップにも当てはまるこの答えを見てください。また、同じ問題を説明しているKevin Bourrillionのブログエントリ(彼はGuavaのリード開発者です)を読むことをお勧めします(add
ジェネリック型を使用していることに注意してくださいE
)。
本当の違いは、add()は間違ったタイプで呼び出されたときにコレクションに「損傷」を引き起こす可能性があり、contains()とremove()はできないことです。
同様に、Javaコレクションフレームワーク(およびGoogleコレクションライブラリも)のメソッドは、コレクションが破損するのを防ぐ必要がある場合を除いて、パラメーターのタイプを制限することはありません。
元のjava.util.Mapインターフェースと同様のインターフェースが必要なためだと思います