ES6中Set和Map的底层数据结构是啥

ES6中Set和Map的底层数据结构是啥

问题描述:

之前学习Java时,研究过集合类中Set和Map,其中Set是基于Map实现的,所以二者是同一种数据结构。而Map的底层数据结构是哈希表+单向链表+红黑树,Map存入元素时,根据元素哈希值经过一系列复杂计算找到哈希表中最小可能被二次选择的位置并存入,但是后期再次插入元素时还是有可能选择到这个位置,此时第二个选择哈希表相同位置的元素会以链表元素的形式挂在到哈希表桶下,当挂载的链表元素个数达到8就会影响查询效率,所以会将单向链表转为红黑树。
由于逻辑十分复杂,之前研究了很久,现在来看JS的Set和Map发现网上几乎没有涉及数据结构相关的说明。
难道是因为Set,Map底层只是使用了JS对象作为容器?

大佬,看不懂,万物皆对象,哈哈