按照插入順序排序的LinkedHashMap

2021-10-25 17:47:57 字數 884 閱讀 2547

linkedhashmap可以做到按照使用者放入集合的順序取出集合中的元素,但是⚠️hashmap不能做到

linkedhashmap繼承於hashmap,其底層實現和hashmap一致,都用雜湊表實現,區別是linkedhashmap還使用了乙個雙向鍊錶實現順序訪問所以linkedhashmap是有序的,這個雙向鍊錶的實現依賴於entry這個內部類,這個entry內部類在集合中非常常見。linkedhashmap允許儲存null值,基本的和hashmap一致,通過鍵找到值,鍵不可以重複,值可以重複。

在刪除和增加時,都在修改前面的引用和後面的引用。

在hashmap中只是利用了雜湊表,而linkedhashmap中還用到了鍊錶記錄順序,在linkedhashmap中並沒有put方法,而是利用了hashmap中的put方法,但是重寫了put方法中呼叫的的addentry()方法.

通過上面方法的分析,可以看出在新增節點的時候(由於是雙向鍊錶)都會在尾部進行新增

treemap的順序是自然順序(如整數從小到大),也可以指定比較函式,但不是插入的順序

參考

插入集 按照順序插入元素,得到排序集合

在之前的專案中,用到了插入集,具體的需求就是 在稀軸排花中,每個排花方法都有乙個評價 方法優劣 找出最優的10個排花方法。插入集就是根據插入排序,在新增元素時,先搜尋它的最終位置,然後插入,當所有元素插入完畢後,得到乙個排序的集合。適用於的模型 在n個數中找出最大或最小的k個 k個元素需要排序 只需...

sql 按照任意順序進行排序

建立一張表 create table stut id int,na varchar 20 插入4條資料。insert into stut values 1,aa insert into stut values 2,bb insert into stut values 3,df insert into...

oracle按照指定順序進行排序

之前在網上查了下按照指定順序進行排序的方法,根據charindex來處理排序,但是在oracle發現不行,因為oracle沒有charindex函式,然後使用instr代替了charindex,然後又在網上搜了另外一種方 實驗如下 1.新建表 create table br dict id numb...