我覺得這個問題應該可能已經在某個地方回答了,但是我一直未能找到它。我正在研究一些遺留代碼(第一份工作),並且我遇到了一個使用地圖來存儲完全23個變量的點(並且從我對該編號的理解始終不會改變)。基本上我知道地圖的訪問時間是O(1),但我總是聽說在處理地圖時存在一些開銷。在Map變得比數組更有效之前需要存儲多少項目
所以我的問題是什麼時候使用地圖變得更高效,而不是隻有一個存儲這23個值的數組。我想基本上我會在代碼中創建我自己的地圖,每當我需要存儲xValue時,我只需訪問我知道存儲xValue的數組。
地圖的開銷如此之小,以至於我在過度譴責這件事?我認爲代碼的可讀性對於地圖來說可能更容易一些,因爲使用的密鑰本質上是對xValue的描述。
我不認爲地圖可以比數組更有效,因爲地圖依賴於後備數組。儘管一個數組只能和一個連續的內存片一樣大,而map_can_可以更大。 – Justin