hashmap的使用
构造函数
// 默认构造函数。
HashMap()
// 指定“容量大小”的构造函数
HashMap(int capacity)
// 指定“容量大小”和“加载因子”的构造函数
HashMap(int capacity, float loadFactor)
// 包含“子Map”的构造函数
HashMap(Map<? extends K, ? extends V> map)
API
void clear()
Object clone()
V get(Object key) //返回key对应的value
V put(K key, V value)
int size()
V remove(Object key)
boolean containsKey(Object key) //判断HashMap是否包含key。
boolean containsValue(Object value) //判断HashMap是否包含value。
Set<Entry<K, V>> entrySet() //返回“HashMap中所有Entry的集合”
boolean isEmpty()
Set<K> keySet()
void putAll(Map<? extends K, ? extends V> map)
Collection<V> values()
entrySet()、values()、keySet()原理类似
几种hashmap的遍历方式
- 通过entrySet()获取HashMap的“键值对”的Set集合。
// 假设map是HashMap对象
// map中的key是String类型,value是Integer类型
Integer integ = null;
Iterator iter = map.entrySet().iterator();
while(iter.hasNext()) {
Map.Entry entry = (Map.Entry)iter.next();
// 获取key
key = (String)entry.getKey();
// 获取value
integ = (Integer)entry.getValue();
}
- 根据keySet()获取HashMap的“键”的Set集合。
// 假设map是HashMap对象
// map中的key是String类型,value是Integer类型
String key = null;
Integer integ = null;
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
// 获取key
key = (String)iter.next();
// 根据key,获取value
integ = (Integer)map.get(key);
}
- 根据value()获取HashMap的“值”的集合。
// 假设map是HashMap对象
// map中的key是String类型,value是Integer类型
Integer value = null;
Collection c = map.values();
Iterator iter= c.iterator();
while (iter.hasNext()) {
value = (Integer)iter.next();
}