3
我有一些數據將按照排序順序進入(首先按排序順序排列整組鍵,然後以隨機順序重複)。所以,我可以同時使用LinkedHashMap或者TreeMap來保存排序(對吧?)。我的問題是,他們哪一個更快,哪個更節省空間?LinkedHashMap和TreeMap哪個更快?
我有一些數據將按照排序順序進入(首先按排序順序排列整組鍵,然後以隨機順序重複)。所以,我可以同時使用LinkedHashMap或者TreeMap來保存排序(對吧?)。我的問題是,他們哪一個更快,哪個更節省空間?LinkedHashMap和TreeMap哪個更快?
LinkedHashMap插入速度更快,因爲在插入像TreeMap時不必進行不必要的比較,正如@EJP所述。由於LinkedHashMap只需要一個前一個鍵和一個下一個鍵的鏈接,而TreeMap需要一個鏈接到父節點和1個鏈接到子節點,我認爲TreeMap也會佔用更大的內存。
所以我的投票是LinkedHashMap。內存少,時間少,當然CPU也少。
LinkedHashMap會更好,我認爲。原因是你的訂單插入順序是正確的順序,另一方面樹圖(紅黑樹)成本o(lgn)to reblance – farmer1992
@Andrew Barber:但問題是如此直接..我應該使用哪種數據結構?我會縮小範圍以加速成爲唯一的標準。這會有幫助嗎? –
有文檔說明LinkedHashMap是O(1)用於插入和檢索,其中TeeMap是O(log(N))。 – EJP