談談hashmap和map的區別,咱們知道hashmap是平均O(1),map是平均O(lnN)的,實踐上是否是hashmap必定優於map呢?這裏面有幾個因素要考慮:
- hashmap的內存效率比map差,這是顯而易見的
- map的查找效率實踐上是很是高的,如在1M數據中查找一個元素,須要多少次比較呢?20次。
- map的查找效率比hashmap穩定。
- hashmap查找時候要算hash,這個最壞時間複雜度是O(M)(M是key字符串的長度),若是你的key很是很是很是很是很是很是……長,基於比較的map一般只使用頭幾個字符進行比較,而hashmap要O(M)地算出hash
- 內存佈局會影響內存局部性,對性能會有影響