學習筆記 Map按Value排序

2021-10-09 04:43:36 字數 1004 閱讀 9997

如何對treemap按value排序

treemap本身只支援對key排序,剛剛學的時候也沒有在意,前幾天碰到乙個題目大概是要統計單詞出現次數,然後找到第k多的單詞,本來想直接用treemap排序的,後來發現treemap不能排value

如果要這樣寫就會報錯

comparator<>括號裡要和key的型別對應,只能換成string

要按value排序一般就要把map裡面的內容放到乙個list中,再對list排序

map

map=

newtreemap

<

>()

; map.

put(

"dog",2

);map.

put(

"cat",3

);map.

put(

"the",1

);map.

put(

"eat",4

);list

> list =

newarraylist

<

>

(map.

entryset()

);也可

這樣就可以知道出現次數第k多的單詞了

Map排序(按key排序,按value排序)

主要分兩種,按鍵排序 按值排序。而且,按key排序主要用於treemap,而按value排序則對於map的子類們都適用。按key排序主要用於treemap,可以實現按照key值的大小,在物件插入時直接插入到合適的位置,保持map的順序性。來看treemap的建構函式 treemap comparat...

map 按key排序VS按value排序

最近在pat刷題,其中一道題月餅 25 需要用到對 進行排序,但是排序後要用到 對應的總售價。因而可以考慮用關聯容器進行求解,map是比較合適這題的資料結構。map是用來存放鍵值對的資料結構,可以很方便快速的根據key查到相應的value。關於map的詳細定義及用法可以見c stl之map學習。假如...

map按key和按value排序

看乙個題 查詢和排序 題目 輸入任意 使用者,成績 序列,可以獲得成績從高到低或從低到高的排列,相同成績 都按先錄入排列在前的規則處理。例示 jack 70 peter 96 tom 70 smith 67 從高到低 成績 peter 96 jack 70 tom 70 smith 67 從低到高 ...