注意:Map和Set不能通过下标访问数据,因为集合里面元素无序。所以遍历Map和Set中的数据一般使用for of或者forEach方法。
1.哈希表
参考链接
哈希表概述:
散列表(Hash table,也叫哈希表),是根据关键值(Key)而直接进行访问的数据结构。也就是说,它通过把关键值key映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数(哈希函数),存放记录的数组叫做散列表。(哈希表一般用数组来存储)
向哈希表中存数据:
根据数据的key值和哈希函数,得到一个数组下标,这个下标的含义是数据在哈希表中的存放的位置。若发生了冲突,则再根据冲突的处理方法来解决冲突。找到最终存放的位置后,将数据存放进去。
在哈希表中查找数据:
根据数据的key值和哈希函数,以及解决冲突的方法来找。
所以哈希表查询某个数据的时间复杂度为o(1)
哈希函数的设计方法有:
.直接寻址法、
解决冲突的方法有:
开放寻址法(包括线性探测法,平方探测法,双哈希)、再散列法、 链地址法