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