@Test public void testComputeIfAbsentOfNonExistingEntry() { assertThat(this.testee.computeIfAbsent("key", key -> singleton("previously absent value"))).containsOnly("previously absent value"); assertThat(this.testee).containsOnly("key", "previously absent value"); }
public Collection<V> computeIfAbsent(K key, Function<? super K, ? extends Collection<V>> mappingFunction) { return store.computeIfAbsent(key, mappingFunction); }
ConcurrentDistinctMultiValueMap { public Collection<V> computeIfAbsent(K key, Function<? super K, ? extends Collection<V>> mappingFunction) { return store.computeIfAbsent(key, mappingFunction); } }
ConcurrentDistinctMultiValueMap { public Collection<V> computeIfAbsent(K key, Function<? super K, ? extends Collection<V>> mappingFunction) { return store.computeIfAbsent(key, mappingFunction); }  }
ConcurrentDistinctMultiValueMap { public Collection<V> computeIfAbsent(K key, Function<? super K, ? extends Collection<V>> mappingFunction) { return store.computeIfAbsent(key, mappingFunction); }  Collection<V> get(K key); void put(K key, V value); void clear(); Collection<V> remove(K key); Collection<Collection<V>> values(); void put(K key, Collection<V> values); Collection<V> computeIfAbsent(K key, Function<? super K, ? extends Collection<V>> mappingFunction); Map<K, Collection<V>> shallowCopy(); int size(); boolean isEmpty(); void removeValue(V value); }
ConcurrentDistinctMultiValueMap { public Collection<V> computeIfAbsent(K key, Function<? super K, ? extends Collection<V>> mappingFunction) { return store.computeIfAbsent(key, mappingFunction); }  Collection<V> get(K key); void put(K key, V value); void clear(); Collection<V> remove(K key); Collection<Collection<V>> values(); void put(K key, Collection<V> values); Collection<V> computeIfAbsent(K key, Function<? super K, ? extends Collection<V>> mappingFunction); Map<K, Collection<V>> shallowCopy(); int size(); boolean isEmpty(); void removeValue(V value);  }