需求:商品售出件數排行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...