如何對map進行排序

2021-09-01 13:13:21 字數 1441 閱讀 9212

常用的map有hashmap,treemap,linkedhashmap

hashmap:最常用的map,根據key的hashcode值來儲存資料,根據key可以直接獲取它的value,具有很快的訪問速度。hashmap最多隻允許一條記錄的key值為null(多條會覆蓋);允許多條記錄的value為null。非執行緒安全

treemap: 根據key排序,預設是按公升序排序,也可以指定排序的比較器,遍歷treemap時,得到的記錄是排過序的。treemap不允許key的值為null。非執行緒安全

linkedhashmap: 插入順序,遍歷linkedhashmap時,先得到的記錄肯定是先插入的。繼承hashmap,非執行緒安全

treemap只能根據key進行排序,treemap本身是個二叉樹,元素的順序是由key的值決定的

treemap內部預設有個comparator,在new的時候可以覆蓋預設的comparator定義自己的排序規則,不過還是只能根據key進行排序

private

static

void

sorttreemap()

);map.

put(

"a",

"2")

; map.

put(

"c",

"5")

; map.

put(

"d",

"6")

; map.

put(

"b",

"1")

; map.

foreach

((k,v)

->);

}

輸出結果

a:2b:

1c:5d:

6

hashmap本身是沒有順序的,不能直接對其進行排序

要排序,只能先轉成list,然後對list排序後,再轉成linkedhashmap

這樣做排序,完全由自己定義,既可以對key排序,也可以對value排序

private

static

void

sortmapvalue()

)); lstentry.

foreach

(o->);

//如果一定要返回乙個map,就new乙個linkedhashmap,將list中所有值依次put進去就可以

/*linkedhashmaplinkedhashmap=new linkedhashmap<>();

lstentry.foreach(o->);*/

}

輸出結果

b:1a:

2c:5d:

6

java如何對map進行排序詳解

一 簡單介紹map 在講解map排序之前,我們先來稍微了解下map。map是鍵值對的集合介面,它的實現類主要包括 hashmap,treemap,hashtable以及linkedhashmap等。其中這四者的區別如下 簡單介紹 hashmap 我們最常用的map,它根據key的hashcode 值...

對map集合進行排序

在講解map排序之前,我們先來稍微了解下map。map是鍵值對的集合介面,它的實現類主要包括 hashmap treemap hashtable linkedhashmap。其中這四者的區別如下 簡單介紹 hashmap 我們最常用的map,它根據key的hashcode值來儲存資料,根據key可以...

對map集合進行排序

今天做統計時需要對x軸的地區按照地區 areacode 進行排序,由於在構建xmldata使用的map來進行資料統計的,所以在統計過程中就需要對map進行排序。在講解map排序之前,我們先來稍微了解下map。map是鍵值對的集合介面,它的實現類主要包括 hashmap,treemap,hashtab...