如何對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 從低到高 ...