view src/main/java/cl/maps/triple/ITripleMap.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.triple;


import java.util.Collection;
import java.util.Map;
import java.util.Set;

public interface ITripleMap<V, A, B, C> {

	int size();
	
	boolean isEmpty();

	boolean containsKey(TripleKey<A, B, C> key);

	boolean containsValue(Object value);
	
	V get(TripleKey<A, B, C> key);
	
	V put(TripleKey<A, B, C> key, V value);

	V remove(TripleKey<A, B, C> key);

	//void putAll(Map<? extends K, ? extends V> m);

	void clear();

	Set<TripleKey<A, B, C>> keySet();

	Collection<V> values();

	Set<Map.Entry<TripleKey<A, B, C>, 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();


}