我有兩個包含HashMap:Java - 哪個hashmap get()方法會更快,爲什麼?
- hashmap1 1000(鍵,值)對,例如(1,一種)(2,2)(3,3)(4,4)..(1000,千)
- hashmap2與100000(鍵,值)對,例如(1,一種)(2,2)(3,3)..(100000,hundredthousand)
其下面兩個步驟中會比較快,即。 hashmap1.get(100)或hashmap2.get(100),爲什麼?
我有兩個包含HashMap:Java - 哪個hashmap get()方法會更快,爲什麼?
其下面兩個步驟中會比較快,即。 hashmap1.get(100)或hashmap2.get(100),爲什麼?
除了@azurefrog的答案,我想提出這一點。
它取決於fast的定義。漸近地說,這兩個操作都將採取O(1)
,並且與大小n
無關,即它是1或100,000或1MM。
但是,當我們考慮HashMap
是一般意義上的時候會有一些有趣的含義。它也可能受以下兩個因素的影響。
但是對於手中的情況,兩者在漸近地講時應該在理論上同時進行。
有你的嘗試過的測試? ,你可以通過編寫循環來測試它。與可能是相同的價值,但不同的關鍵。因爲你不能生成一個,twoo與循環,但沒關係。然後檢查性能,並讓我們知道答案 – Panther
HashMaps在設計上具有O(1)性能。 – Sinkingpoint