eumnq8 发表于 2021-1-13 13:54:49

使用散列表要注意哪些事项?

使用散列表要注意哪些事项?

①为什么要用散列表?
数组的特点是:寻址容易,插入和删除困难;
链表的特点是:寻址困难,插入和删除容易;
那么能不能综合两者的特性,做出一种寻址容易,插入和删除也容易的数据结构?答案是肯定的,这就是我们要了解的散列表,也叫哈希表

②什么是散列表?
散列表也叫hash表 ,是根据关键码值而进行直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射也叫散列函数,存放记录的数组叫散列表。
给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则成表M为Hash表,函数f(key)为哈希函数。

③散列表有哪些特点?
HashMap具有优秀的查找性能。根据key找到value,性能最好的算法!(没有之一)。无论数据多少,查找方法的性能始终如一!为了实现根据key告诉找到value,散列表提供了高性能查找算法。利用散列数组算法进行散列查找,性能很好。无论数据量有多少,都会在一个固定的时间,找回结果!甚至是在亿级别数据量上进行查找!凡是软件中需要查找根据key查找到value时,一定使用散列表。

④使用散列表的注意事项:
①key-value成对数据添加到散列表
②key不可以重复,value可以重复
③key-value规定为一个条目(Entry)
④散列表中散列数组的大小称为容量
⑤key-value数量称为size
⑥size/容量称为加载因子,要小于75%,如果大于75%,会自动扩容
⑦自动扩容会影响put添加性能,可以事先通过设置初始容量,提高put的性能
⑧散列表的默认初始容量是16,默认加载因子是75%,建议不要修改加载因子
页: [1]
查看完整版本: 使用散列表要注意哪些事项?