1. 程式人生 > >(java)根據map中value進行排序

(java)根據map中value進行排序

程式碼如下:

 public static List<Map.Entry<String, Integer>> getSortedHashtableByValue(Map<String,Integer> h) {          
       List<Map.Entry<String,Integer>> l = new ArrayList<Map.Entry<String,Integer>>(h.entrySet());    
       Collections.sort(l, new Comparator<Map.Entry<String, Integer>>() {      
           public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {      
               return (o2.getValue()- o1.getValue());      
           }      
       });       
       return l;    
   }    


List<Map.Entry<String,Integer>> r=getSortedHashtableByValue(m);
for(int i=0;i<m.size();i++){
System.out.println(r.get(i).getKey()+" "+r.get(i).getValue());
}

相關推薦

(java)根據mapvalue進行排序

程式碼如下:  public static List<Map.Entry<String, Integer>> getSortedHashtableByValue(Map<String,Integer> h) {             

javaMapValue進行排序

List <Map.Entry<String,Integer>> mapList = null; mapList=new ArrayList<Map.Entry<String,Integer>>(myMap.entry

Java對HashMap的Entry實體根據Key或者Value進行排序

前幾天在寫程式碼時候遇見對Map中元素根據Value排序的情景,就想抽空花點時間認真學習鞏固總結一下。 說道排序,我們無非還是得和比較說起,沒有比較何有順序!在Java中可以參與比較的兩個介面莫非是: 可以比較的,實現該介面的類本身就具備了比較的特徵。 public int

listmap,根據map的key進行排序

List中有map,需要對map中的key進行從小到大排序,使用lambda表示式可以輕鬆實現。 Collections.sort(list, (map1, map2) -> { Integer key1= (Integer)

java利用list的value進行排序

java中有排序的方法Collections.sort;可以直接利用這個排序list; eg: List<Map<String,String>> listmap=new ArrayList<Map<String,String>>

C++按mapvalue進行排序

C++中,map是按key值大小排序儲存。有時候,我們需要對map的value進行排序,根據value的大小順序獲得key的序列。比較簡單的方法就是,重新定義一個新的map,新map的key和value正好是原來map的value和key,這樣新的map就按照原來map的va

JavaMap根據鍵值(key)或者值(value)進行排序實現

public class SortTest { public static void main(String[] args){ List userlist=new ArrayList(); userlist.add(new User("dd","4")); userlist.add(new Us

java簡潔地根據mapvalue或key進行排序

先上程式碼再解釋public static void main(String[] args) { Map<String,Integer> map = new HashMap<>(); map.put("nine",9

javalist裡面存放map根據map的某一個欄位進行排序

Java中list裡面存放map,根據map中的某一個欄位進行排序 例如: package com;   import java.util.ArrayList;   import java.util.Collections;   import java.util.Comparator;   impor

根據map的key或者value進行排序

1.根據key值進行排序import java.util.Comparator; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap;

Java list裡面存放map根據map的某一個欄位進行排序 lambda

//lambda Collections.sort(list, (o1, o2) -> { String name1 = (String) o1.get("id"); String name2 = (String) o2.get("id"); return name2.

Java——對JavaMapValue欄位進行排序

      構造TreeMap可以指定Comparator,但是不能對value欄位進行排序。如果有需求對Value欄位排序,例如map存放的是單詞,單詞出現次數,怎麼按單詞次數排序呢?   可以先將map中的key-value放入list,然後用Collections

根據Mapvalue進行排序

Map的實現類中,有順序的是LinkedHashMap和TreeMap。LinkedHashMap是按照插入的順序排序,TreeMap根據key自然順序排序,或者傳入一個Comparator。 package collaborativeFilterin

Java Map集合利用比較器Comparator根據Key和Value排序

TreeMap排序 根據Key進行排序 Map的根據key排序需要用到TreeMap物件,因為它是預設按照升序進行輸出的,可以使用比較器compareTo對它進行降序排序,Comparator可以對集合物件或者陣列進行排序的比較器介面,實現該介面的public compa

如何對mapvalue進行排序

package com.demo.map; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.LinkedHashMap

Python根據字典的value進行大小排序

val new 進行 添加 blog 匹配 數據 {} num num_dict = {‘a‘: 16, ‘b‘: 10, ‘c‘: 8, ‘d‘: 0} #方法1 # new_dict = sorted(num_dict.items(),key=lambda x:x[1

Map四種獲取key和value值的方法,以及對map的元素排序(轉)

compareto map.entry 排序 區別 sta hashmap 得到 package log 獲取map的值主要有四種方法,這四種方法又分為兩類,一類是調用map.keySet()方法來獲取key和value的值,另一類則是通過map.entrySet()方法來

python如何對字典按照value進行排序

方法一: dict= {'a':1,'b':4,'c':2} sorted(dict.items(),key = lambda x:x[1],reverse = True) 程式碼詳解: sorted(...):     sorted(iterable,

JAVAmap按照值進行自定義排序

以POJ的一道題為例http://poj.org/problem?id=2945 Find the Clones Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 8291 Accepted: 3

List型別的集合根據map某個鍵的值排序

Collections.sort(list1, new Comparator<Map>() { public int compare(Map o1, Map o2) { if ((o1.get("e_cod