Map<K,V>
- 特点:
- 以键值对的形式存储数据
- 键的值是唯一的,不能重复。每个键最多只能映射到一个值。
- 将可变对象用作映射键时必须格外小心。当对象是映射中某个键时,如果以影响 equals 比较的方式更改了对象的值,则映射的行为将是不确定的。
- 不允许某个映射将自身作为一个键包含,允许某个映射将自身作为值包含,但要小心使用。
- 方法摘要
- clear() 从此映射中移除所有映射关系(可选操作)。
- containsKey(Object o) 如果包含指定键的映射关系,返回true
- containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。
- entrySet() 返回此映射中包含的映射关系的set集合,Set<Map.Entry<K,V>>
- get(Object key) 返回key所对应的value值
- isEmpty() 如果此映射未包含键-值映射关系,则返回 true。
- keySet() 返回所有的key的set集合
- values() 返回此映射中包含的值的Collcation 视图。
- size() 返回集合中的数据
- put(K key, V value) 添加映射关系
- putAll(Map<? extends K,? extends V> m) 添加一个映射关系集合
- remove(Object key) 移除指定key的映射关系
HashMap<K,V>
- 特点:
- 实现了Map接口,实现了Map接口的所有可选映射操作。
- 允许使用null值和null键。
- 不保证映射关系的顺序,特别是它不保证该顺序恒久不变。
- HaspMap的实例有两个参数影响性能:初始容量和加载因子
- 不保证线程之间同步。可以使用一下方法解决问题。
Map m = Collections.synchronizedMap(new HashMap(...));
构造方法:
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。
-
方法摘要: 同Map接口方法。
TreeMap<K,V>
- 特点:
- 可以实现自然顺序,也可以用比较器指定顺序。
- 不保证线程之间同步。可以使用一下方法解决问题。
Map m = Collections.synchronizedMap(new HashMap(...));
构造方法:
TreeMap() 使用键的自然顺序构造一个新的、空的树映射。
TreeMap(Comparator<? super K> comparator) 构造一个新的、空的树映射,该映射根据给定比较器进行排序。
TreeMap(Map<? extends K, ? extends V> m) 构造一个与给定映射具有相同映射关系的新的树映射,该映射根据其键的自然顺序 进行排序。
TreeMap(SortMap<K, ? extends V> m) 构造一个与指定有序映射具有相同映射关系和相同排序顺序的新的树映射。
方法摘要:
ceilingEntry(K key) 返回一个键-值映射关系,它与大于等于给定键的最小键关联;如果不存在这样的键,则返回 null。
ceilingKey(K key) 返回大于等于给定键的最小键;如果不存在这样的键,则返回 null。
clear() 从此映射中移除所有映射关系。
clone() 返回此 TreeMap 实例的浅表副本。
comparator() 返回对此映射中的键进行排序的比较器;如果此映射使用键的自然顺序,则返回null。
containsKey(Object Key) 如果此映射包含指定键的映射关系,则返回 true。
containsValue(Object value) 如果此映射为指定值映射一个或多个键,则返回 true。
descendingMap() 返回此映射中所包含映射关系的逆序视图。
descendingKeySet() 返回此映射中所包含键的逆序NavigableSet视图
entrySet() 返回此映射中包含的映射关系的Set视图
firstEntry() 返回一个与此映射中的最小键关联的键-值映射关系;如果映射为空,则返回 null。
firstKey() 返回此映射中当前第一个(最低)键。
floorEntry(K key) 返回一个键-值映射关系,它与小于等于给定键的最大键关联;如果不存在这样的键,则返回 null。
floorKey(K key) 返回小于等于给定键的最大键;如果不存在这样的键,则返回 null。
get(Object key) 返回指定键所映射的值,如果对于该键而言,此映射不包含任何映射关系,则返回 null。
headMap(K tokey) 返回此映射的部分视图,其键值严格小于 toKey。
headMap(K toKey, boolean inclusive) 返回此映射的部分视图,其键小于(或等于,如果 inclusive 为 true)toKey。
higherKey(K key) 返回一个键-值映射关系,它与严格大于给定键的最小键关联;如果不存在这样的键,则返回 null。
higherEntry(K key) 返回一个键-值映射关系,它与严格大于给定键的最小键关联;如果不存在这样的键,则返回 null。
keySet() 返回此映射包含的键的set集合。
lastKey() 返回与此映射中的最大键关联的键-值映射关系;如果映射为空,则返回 null。
lastKey() 返回映射中当前最后一个(最高)键。
lowerEntry(K key) 返回一个键-值映射关系,它与严格小于给定键的最大键关联;如果不存在这样的键,则返回 null。
lowerKey(K key) 返回严格小于给定键的最大键;如果不存在这样的键,则返回 null。
pollFirstEntry() 移除并返回与此映射中的最小键关联的键-值映射关系;如果映射为空,则返回 null。
pollLastEntry() 移除并返回与此映射中的最大键关联的键-值映射关系;如果映射为空,则返回 null。
put(K key, V value) 将指定值与此映射中的指定键进行关联
putAll(Map<? extends K, ? extends V>map) 将指定映射中的所有映射关系复制到此映射中。
remove(Object key) 如果此 TreeMap 中存在该键的映射关系,则将其删除。
subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) 返回此映射的部分视图,其键的范围从 fromKey 到 toKey。
subMap(K fromKey, K toKey) 返回此映射的部分视图,其键值的范围从 fromKey(包括)到 toKey(不包括)。
tailMap(K fromKey) 返回此映射的部分视图,其键大于等于 fromKey。
tailMap(K fromKey, boolean inclusive) 返回此映射的部分视图,其键大于(或等于,如果 inclusive 为 true)fromKey。
values() 返回此映射包含的值的 collection 视图