59
|
1 package cl.maps.quad;
|
|
2
|
|
3 import java.util.Collection;
|
|
4 import java.util.Map;
|
|
5 import java.util.Set;
|
|
6
|
|
7 public interface IQuadMap<V, A, B, C, D> {
|
|
8
|
|
9 int size();
|
|
10
|
|
11 boolean isEmpty();
|
|
12
|
|
13 boolean containsKey(QuadKey<A, B, C, D> key);
|
|
14
|
|
15 boolean containsValue(Object value);
|
|
16
|
|
17 V get(QuadKey<A, B, C, D> key);
|
|
18
|
|
19 V put(QuadKey<A, B, C, D> key, V value);
|
|
20
|
|
21 V remove(QuadKey<A, B, C, D> key);
|
|
22
|
|
23 //void putAll(Map<? extends K, ? extends V> m);
|
|
24
|
|
25 void clear();
|
|
26
|
|
27 Set<QuadKey<A, B, C, D>> keySet();
|
|
28
|
|
29 Collection<V> values();
|
|
30
|
|
31 Set<Map.Entry<QuadKey<A, B, C, D>, V>> entrySet();
|
|
32
|
|
33 boolean equals(Object o);
|
|
34
|
|
35 /**
|
|
36 * Returns the hash code value for this map. The hash code of a map is
|
|
37 * defined to be the sum of the hash codes of each entry in the map's
|
|
38 * <tt>entrySet()</tt> view. This ensures that <tt>m1.equals(m2)</tt>
|
|
39 * implies that <tt>m1.hashCode()==m2.hashCode()</tt> for any two maps
|
|
40 * <tt>m1</tt> and <tt>m2</tt>, as required by the general contract of
|
|
41 * {@link Object#hashCode}.
|
|
42 *
|
|
43 * @return the hash code value for this map
|
|
44 * @see Map.Entry#hashCode()
|
|
45 * @see Object#equals(Object)
|
|
46 * @see #equals(Object)
|
|
47 */
|
|
48 int hashCode();
|
|
49
|
|
50
|
|
51 } |