package com.yoursway.utils.instrusive;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
public interface IntrusiveMap<K, V> {
int size();
boolean isEmpty();
boolean containsKey(K key);
boolean containsValue(V value);
V get(K key);
// Modification Operations
V add(V value);
V removeKey(K key);
V removeValue(V value);
// Bulk Operations
void putAll(Collection<? extends V> t);
void clear();
// Views
Map<K, V> asMap();
Set<K> keySet();
Collection<V> values();
Set<Map.Entry<K, V>> entrySet();
// Comparison and hashing
boolean equals(Object o);
int hashCode();
}