------- android培训、java培训、期待与您交流! ----------
1 散列表概念
1) 容量 散列表中散列数组大小
2) 散列运算 key->散列值的算法
3) 散列桶 散列值相同的元素的"线性集合"
4) 加载因子 就是散列表数组加载率,一般小于75%性能比较理想
5) 散列查找 根据Key计算散列值,根据散列值找到散列桶,在散列桶中顺序比较key,如果一样,就返回value散列表中Key不同,Value可以重复
2.HashMap
HashMap以键-值的形式存储对象,key关键字是唯一的、不重复的
1)key可以是任何对象,value可以任何对象
2)(key:value)成对放置在集合中
3)重复的key算一个,重复添加是替代操作
4)根据key的散列值计算算列表,元素按照散列值排序
5)HashMap默认的容量:16,默认加载因子0.75
6)HashMap根据key检索查找value值
HashMap可以在构造时指定参数:初始容量和加载因子,一般默认使用
HashMap VS Hashtable
HashMap 新,非线程安全,不检索锁,允许键值为空
Hashtale 旧,线程安全,检索锁,相对较慢,不允许键值为空