Do we have a MultiBiMap ?

前端 未结 1 840
心在旅途
心在旅途 2020-12-19 07:43

As we now, there is the concept of BiMap and multiMap but is there a multiBiMap ? so what do I mean by this. In multiMap you have one-to-many relationship between K and V,

1条回答
  •  我在风中等你
    2020-12-19 07:55

    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);
            }
            return changed;
        }
    }
    

    0 讨论(0)
提交回复
热议问题