课程名称:Map从入门到性能分析
课程章节:
第1章HashMap初识
第2章 HashMap的使用
主讲老师:大谷
课程内容:
高并发的概念,同步与异步,阻塞与非阻塞
课程收获:
1. Map接口通用方法
V put(K key,V value):存入Map中一个key/value映射
V get(Object key):返回到指定键所映射的值
int size():返回此Map中键值映射的数量
V remove(Object key):从该Map中删除一个键的映射
boolean containskey(Object key):是否包含指定键的key
2.HashMap的构造方法
HashMap()
HashMap(int initialCapacity)
HashMap(int initialCapacity,float loadFactor)
loadFactor是负载因子,满足条件就会扩容。
3.HashMap的Entry结构
static class Entry<K,V> implements Map.Entry<K,V>{
final K key;
V value;
Entry<K,V> next;
final int hash;
}
4.遍历:
(1)、利用map.keySet()遍历HashMap,样例:
for(String key:map.keySet()){
System.out.println(key + “***” + map.get(key));
}
(2)、利用Map.values()遍历HashMap,样例:
for(String v:map.values()){
System.out.println( “value” + v);
}
(3)、利用entrySet遍历HashMap
for(Map.Entry<String,String> entry:map.entrySet()){
System.out.println( entry.getKey()+“***”+entry.getValue());
}
(4)、利用Iterator 遍历HashMap
Iterator<Map.Entry<String,String>> it = map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String,String> entry = it.next();
System.out.println( entry.getKey()+“***”+entry.getValue());
}
5、性能:
遍历多使用Iterator,keySet方法尽量避免使用(缓慢)