编程开发 > JAVA > 文章内容

java基础知识总结(108)

2016-6-17编辑:ljnbset

 Map  

  1 HashMap 新

  2 Hashtable 旧 (1.2以前)

1 散列表  Map  

 散列表概念

  1) 容量: 散列表中散列数组大小.

  2) 散列运算: key->散列值(散列数组下标)的算法,

       如: "mm".hashCode()->8

  3) 散列桶:          散列值相同的元素的"线性集合"

  4) 加载因子: 就是散列数组加载率, 一般小于75%性能比较理想

       就是:元素数量/散列数组大小, 如: 7/10=70%

  5) 散列查找: 根据Key计算散列值, 根据散列值(下标)找到

    散列桶,在散列桶中顺序比较Key, 如果一样, 就返回value

  6) 散列表中Key不同, Value可以重复

 

2 HashMap(关键字:值), 关键字key是唯一不重复的, 查找表

 1) key可以是任何对象, Value可以任何对象,

 2) key:value 成对的放置到集合中

 3) 重复的key算一个, 重复添加是替换操作

 4) 根据key的散列值计算散列表, 元素按照散列值(不可见)排序

 5) 默认的容量: 16 默认加载因子(加载率) 0.75

 6) 根据key检索查找value值

 7) 用于查找场合, 可以提高根据key查找效率

 8) HashMap VS Hashtable

  A HashMap 新, 非线程安全, 不检查锁, 快

  B Hashtable 旧 (1.2以前) 线程安全, 检查锁, 慢一点

java基础知识总结(107)

热点推荐

登录注册
触屏版电脑版网站地图