Golang面试题三(map)

avatar
作者
猴君
阅读量:0

1.map底层实现

由图看出,其实map的底层结构体是hmap,同时hmap里面维护着若干个bucket数组(即桶数组)。bucket数组中每个元素都是bmap结构的,bmap中存储着8个key-value的键值对,如果是满了的话,当再来一个键值对的时候就会放到下一个溢出桶中,同时是通过这个overflow进行连接。如果当溢出桶过多的时候可能会发生扩容的操作,在扩容的时候会通过渐进式的方式进行扩容,oldbuckets指向原来的桶。

2.map遍历为什么是无序的

3.map为什么是非线程安全的

 

 4.map如何查找

 

 5.map冲突的解决方式

6.map的负载因子为什么是6.5 

7.map如何扩容

8.map和sync.Map性能哪个好

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!