我们有MultiBiMap吗?

就像我们现在一样,有BiMap和multiMap的概念,但是有一个multiBiMap吗? 所以这就是我的意思。 在multiMap中,K和V之间具有一对多的关系,单个键可以与多个值相关联,因此也就是名称。 在双向地图中你有K,V对是双向意味着你也可以获得V,K关系。 就像有两个常规地图但同步。 我需要一个双向多图,你可以将这两个概念结合起来。

import java.util.Set; import com.google.common.collect.HashMultimap; import com.google.common.collect.SetMultimap; public class ManyToMany { private final SetMultimap keysToValues = HashMultimap.create(); private final SetMultimap valuesToKeys = HashMultimap.create(); public Set getValues(K key) { return keysToValues.get(key); } public Set getKeys(V value) { return valuesToKeys.get(value); } public boolean put(K key, V value) { return keysToValues.put(key, value) && valuesToKeys.put(value, key); } public boolean putAll(K key, Iterable values) { boolean changed = false; for (V value : values) { changed = put(key, value) || changed; } return changed; } } 
Interesting Posts