### Map接口
* Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value
* Map中的键值对以Entry类型的对象实例形式存在
* 键(Key)不可以重复,value值可以
* 每个键最多只可以映射到一个值
* Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法
* Map支持泛型,形式如:Map<K,V>
### HaspMap类
* HaspMap是Map的一个重要实现类,也是最常用的,基于哈希表实现
* HaspMap中的Entry对象是无序排列的
* Key的值和value值都可以为null,但是一个HaspMap只能有一个key的值为null的映射(key值不可重复)
嵌套类摘要 | |
---|---|
static interface |
Map.Entry<K,V> 映射项(键-值对)。 |
方法摘要 | |
---|---|
void |
clear() 从此映射中移除所有映射关系(可选操作)。 |
boolean |
containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。 |
boolean |
containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。 |
Set<Map.Entry<K,V>> |
entrySet() 返回此映射中包含的映射关系的 Set 视图。 |
boolean |
equals(Object o) 比较指定的对象与此映射是否相等。 |
V |
get(Object key) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null 。 |
int |
hashCode() 返回此映射的哈希码值。 |
boolean |
isEmpty() 如果此映射未包含键-值映射关系,则返回 true。 |
Set<K> |
keySet() 返回此映射中包含的键的 Set 视图。 |
V |
put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)。 |
void |
putAll(Map<? extends K,? extends V> m) 从指定映射中将所有映射关系复制到此映射中(可选操作)。 |
V |
remove(Object key) 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。 |
int |
size() 返回此映射中的键-值映射关系数。 |
Collection<V> |
values() 返回此映射中包含的值的 Collection 视图。 |
嵌套类摘要 |
---|
从类 java.util.AbstractMap 继承的嵌套类/接口 |
---|
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V> |
构造方法摘要 | |
---|---|
HashMap() 构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。 |
|
HashMap(int initialCapacity) 构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。 |
|
HashMap(int initialCapacity, float loadFactor) 构造一个带指定初始容量和加载因子的空 HashMap。 |
|
HashMap(Map<? extends K,? extends V> m) 构造一个映射关系与指定 Map 相同的新 HashMap。 |
方法摘要 | |
---|---|
void |
clear() 从此映射中移除所有映射关系。 |
Object |
clone() 返回此 HashMap 实例的浅表副本:并不复制键和值本身。 |
boolean |
containsKey(Object key) 如果此映射包含对于指定键的映射关系,则返回 true。 |
boolean |
containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。 |
Set<Map.Entry<K,V>> |
entrySet() 返回此映射所包含的映射关系的 Set 视图。 |
V |
get(Object key) 返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null 。 |
boolean |
isEmpty() 如果此映射不包含键-值映射关系,则返回 true。 |
Set<K> |
keySet() 返回此映射中所包含的键的 Set 视图。 |
V |
put(K key, V value) 在此映射中关联指定值与指定键。 |
void |
putAll(Map<? extends K,? extends V> m) 将指定映射的所有映射关系复制到此映射中,这些映射关系将替换此映射目前针对指定映射中所有键的所有映射关系。 |
V |
remove(Object key) 从此映射中移除指定键的映射关系(如果存在)。 |
int |
size() 返回此映射中的键-值映射关系数。 |
Collection<V> |
values() 返回此映射所包含的值的 Collection 视图。 |
从类 java.util.AbstractMap 继承的方法 |
---|
equals, hashCode, toString |
从类 java.lang.Object 继承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
从接口 java.util.Map 继承的方法 |
---|
equals, hashCode |
val startTime = System.currentTimeMillis()
Thread.sleep(3000)
val endTime = System.currentTimeMillis()
val duration = endTime - startTime