Mercurial > hg > openmind
diff src/main/java/cl/maps/quad/IQuadMap.java @ 59:6e08ff123ae6
check in complete source of cl.maps.
author | casties |
---|---|
date | Wed, 14 Dec 2016 15:49:40 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/cl/maps/quad/IQuadMap.java Wed Dec 14 15:49:40 2016 +0100 @@ -0,0 +1,51 @@ +package cl.maps.quad; + +import java.util.Collection; +import java.util.Map; +import java.util.Set; + +public interface IQuadMap<V, A, B, C, D> { + + int size(); + + boolean isEmpty(); + + boolean containsKey(QuadKey<A, B, C, D> key); + + boolean containsValue(Object value); + + V get(QuadKey<A, B, C, D> key); + + V put(QuadKey<A, B, C, D> key, V value); + + V remove(QuadKey<A, B, C, D> key); + + //void putAll(Map<? extends K, ? extends V> m); + + void clear(); + + Set<QuadKey<A, B, C, D>> keySet(); + + Collection<V> values(); + + Set<Map.Entry<QuadKey<A, B, C, D>, V>> entrySet(); + + boolean equals(Object o); + + /** + * Returns the hash code value for this map. The hash code of a map is + * defined to be the sum of the hash codes of each entry in the map's + * <tt>entrySet()</tt> view. This ensures that <tt>m1.equals(m2)</tt> + * implies that <tt>m1.hashCode()==m2.hashCode()</tt> for any two maps + * <tt>m1</tt> and <tt>m2</tt>, as required by the general contract of + * {@link Object#hashCode}. + * + * @return the hash code value for this map + * @see Map.Entry#hashCode() + * @see Object#equals(Object) + * @see #equals(Object) + */ + int hashCode(); + + +} \ No newline at end of file