01: /*
02: * Copyright 2007 Google Inc.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License. You may obtain a copy of
06: * the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13: * License for the specific language governing permissions and limitations under
14: * the License.
15: */
16: package java.util;
17:
18: /**
19: * Abstract interface for maps.
20: *
21: * @param <K> key type.
22: * @param <V> value type.
23: */
24: public interface Map<K, V> {
25:
26: /**
27: * Represents an individual map entry.
28: */
29: public interface Entry<K, V> {
30: boolean equals(Object o);
31:
32: K getKey();
33:
34: V getValue();
35:
36: int hashCode();
37:
38: V setValue(V value);
39: }
40:
41: void clear();
42:
43: boolean containsKey(Object key);
44:
45: boolean containsValue(Object value);
46:
47: Set<Entry<K, V>> entrySet();
48:
49: boolean equals(Object o);
50:
51: V get(Object key);
52:
53: int hashCode();
54:
55: boolean isEmpty();
56:
57: Set<K> keySet();
58:
59: V put(K key, V value);
60:
61: void putAll(Map<? extends K, ? extends V> t);
62:
63: V remove(Object key);
64:
65: int size();
66:
67: Collection<V> values();
68: }
|