-1

私は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実装ではないと確信しています。

4

1 に答える 1