關於MAP的值排序

2021-07-25 13:17:27 字數 612 閱讀 9935

需求:商品售出件數排行top5

解決辦法:採用map的值排序

**:

我們可以將

map集合轉換成

list

集合中,而

list

使用arraylist

來實現list,

integer>> list =

new

linkedlist(map.entryset())

;//

最後通過

collections.sort(list l, comparator c)

方法來進行排序

collections.

sort

(list

, new

comparator,

integer>>() });

//組裝

int

i = 1;

map result =

new

linkedhashmap()

;for

(iterator it = list.iterator()

; it.hasnext()

; )

}

Map的按value值排序

map自帶按key值排序的屬性,但很多種情況下我們需要對map容器進行按vaule值排序,由於map沒有提供相應的api,我們只有自力更生了。可以利用pair和自定義排序函式實現,比如我們拿leetcode上的347題為例,統計一組數中出現次數最多的k個數,如下 自定義的pair比較函式,此函式需要...

Map基於Value值排序

方法1 使用treemap,可以參考下面的代 public class testing class valuecomparator implements comparator note this comparator imposes orderings that are inconsistent w...

STL中map按值排序

map預設是按照鍵 key 排序的。很多時候我們需要按值 value 排序,靠map裡的 演算法當然是不行的,那麼可以把它轉存到vector中,在對vector按照一定的規則排序即可。示例 輸入單詞,統計單詞出現次數並按照單詞出現次數從多到少排序 include include include in...