blob: addb1edf3392ff151dd44ee96f08af738777d1ef [file] [log] [blame]
// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.utils.collections;
import java.util.Set;
import java.util.function.BiConsumer;
/**
* Interface that accommodates many-to-many mappings.
*
* <p>This interface inherits from {@link BidirectionalManyToManyMap} to allow implementing
* many-to-many mappings using many-to-one mappings.
*/
public interface BidirectionalOneToManyMap<K, V> extends BidirectionalManyToManyMap<K, V> {
void forEachOneToManyMapping(BiConsumer<K, Set<V>> consumer);
Set<V> get(Object key);
Set<V> getOrDefault(Object key, Set<V> defaultValue);
K getKey(V value);
}