私はArrayListMultimap
このようなの要素を繰り返しています:
for(MyKey key : multimap.keySet()) {
List<MyValue> values = multimap.get(key);
// multimap.containsKey(key) returns false
for(MyValue val : values) {
// sometimes the list is empty
}
}
しかし、キーの値を取得しようとすると、空のリストが表示されます。また、multimap.containsKey(key)
false を返します。を使用して反復しようとするentries()
と、キーと値が見つかります。
を使用してguava-14.0.1.jar
いますが、古いバージョンを試してみましたが、同じ動作が得られます。また、値として null が存在する場合があり、MyKey と MyValue の equals メソッドと hash メソッドを上書きしました。
何がこれを引き起こす可能性がありますか?私はそれがArrayListMultimap
実装ではないと確信しています。