view 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 source

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();


}