2 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
除了 map-length 類型的最大值是int
. 的最大值int
取決于您編譯到的目標(biāo)架構(gòu),可能是1 << 31 - 1 = 2147483647
32 位,也可能是1 << 63 - 1 = 9223372036854775807
64 位。
請(qǐng)注意,作為實(shí)現(xiàn)限制,您可能無法準(zhǔn)確添加 max-int 元素,但數(shù)量級(jí)將相同。
由于內(nèi)置map
類型使用 hashmap 實(shí)現(xiàn),訪問時(shí)間復(fù)雜度通常為 O(1),因此向映射添加多個(gè)元素完全沒問題,您仍然可以非常快速地訪問元素。請(qǐng)注意,然而添加許多元素會(huì)導(dǎo)致重新散列和重建內(nèi)部結(jié)構(gòu),這將需要一些額外的計(jì)算 - 在向地圖添加新鍵時(shí)偶爾會(huì)發(fā)生這種情況。
如果您可以“猜測”或估計(jì)地圖的大小,則可以創(chuàng)建具有大容量的地圖以避免重新散列。例如,您可以創(chuàng)建一個(gè)包含一百萬個(gè)元素的空間的地圖,如下所示:
m := make(map[string]int, 1e6)
- 2 回答
- 0 關(guān)注
- 217 瀏覽
添加回答
舉報(bào)