package java.util; import checkers.javari.quals.*; public interface Map<K,V> { int size() @ReadOnly; boolean isEmpty() @ReadOnly; boolean containsKey(@ReadOnly Object key); boolean containsValue(@ReadOnly Object value) @ReadOnly; V get(@ReadOnly Object key) @ReadOnly; V put(K key, V value); V remove(@ReadOnly Object key); void putAll(@ReadOnly Map<? extends K, ? extends V> m); void clear(); @PolyRead Set<K> keySet() @PolyRead; @PolyRead Collection<V> values() @PolyRead; @PolyRead Set<@PolyRead Map.Entry<K, V>> entrySet() @PolyRead; interface Entry<K,V> { K getKey() @ReadOnly; V getValue() @ReadOnly; V setValue(V value); boolean equals(@ReadOnly Object o) @ReadOnly; int hashCode() @ReadOnly; } boolean equals(@ReadOnly Object o) @ReadOnly; int hashCode() @ReadOnly; }