package com.sun.source.util; import com.sun.source.io.Serializable; import java.util.Comparator; import java.util.Objects; public interface Map { int size(); boolean isEmpty(); boolean containsKey(Object key); boolean containsValue(Object value); V get(Object key); V put(K key, V value); V remove(Object key); void putAll(Map m); void clear(); Set keySet(); Collection values(); Set> entrySet(); interface Entry{ K getKey(); V getValue(); V setValue(V value); boolean equals(Object o); int hashCode(); public static ,V> Comparator> comparingByKey(){ return (Comparator> & Serializable) (c1,c2)->c1.getKey().compareTo(c2.getKey()); } public static > Comparator> comparingByValue() { return (Comparator> & Serializable) (c1, c2) -> c1.getValue().compareTo(c2.getValue()); } public static Comparator> comparingByKey(Comparator cmp) { Objects.requireNonNull(cmp); return (Comparator> & Serializable) (c1, c2) -> cmp.compare(c1.getKey(), c2.getKey()); } public static Comparator> comparingByValue(Comparator cmp) { Objects.requireNonNull(cmp); return (Comparator> & Serializable) (c1, c2) -> cmp.compare(c1.getValue(), c2.getValue()); } } boolean equals(Object o); int hashCode(); }