1. 程式人生 > >分別根據key和value對HashMap進行排序

分別根據key和value對HashMap進行排序

通過把把Map中的所有Entry存入一個List,然後呼叫collection的sort進行排序操作.

		Map<Integer, Integer> map = new HashMap<Integer, Integer>();
		map.put(10, 281);
		map.put(34, 275);
		map.put(22, 293);
		map.put(13, 240);

		List<Map.Entry<Integer, Integer>> entryList = new ArrayList<Map.Entry<Integer, Integer>>(map.entrySet());

		System.out.println("Before sort");//排序前
		for (int i = 0; i < entryList.size(); i++) {
		    System.out.println(entryList.get(i));
		}
		//34=275
		//22=293
		//10=281
		//13=240
		
		//預設從小到大排序,若要倒序可以交換相減的順序
		//若是字串或其他自定義類之間的比較,可以使用compareTo
		Collections.sort(entryList, new Comparator<Map.Entry<Integer, Integer>>() {   
		    public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {      
		    	//return (o1.getKey() - o2.getKey());//根據key排序
		    	return (o1.getValue() - o2.getValue());//根據value排序
		        //return (o1.getKey()).toString().compareTo(o2.getKey());
		    }
		});

		System.out.println("After sort");//排序
		for (int i = 0; i < entryList.size(); i++) {
			System.out.println(entryList.get(i));
		}
		//根據key排序
		//10=281
		//13=240
		//22=293
		//34=275
		
		//根據value排序
		//13=240
		//34=275
		//10=281
		//22=293


相關推薦

分別根據keyvalueHashMap進行排序

通過把把Map中的所有Entry存入一個List,然後呼叫collection的sort進行排序操作. Map<Integer, Integer> map = new HashMap<Integer, Integer>(); map.put

Spark中sortByKeysortBy(key,value)資料分別 根據keyvalue排序

    最近在用Spark分析Nginx日誌,日誌解析和處理完後需要根據URL的訪問次數等進行排序,取得Top(10)等。     根據對Spark的學習,知道Spark中有一個sortByKey()的函式能夠完成對(key,value)格式的資料進行排序,但是,很明顯,它

Java Map集合利用比較器Comparator根據KeyValue排序

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

LINQ 通過動態生成lambda表示式,實現根據指定屬性名稱序列進行排序

目前,對於Linq只是初步接觸,還不熟悉,做專案的時候想到一個問題,如果想要查詢任意欄位的排序結果集,該怎麼實現? 我們知道,T-SQL是非常容易解決這個問題,只要簡單通過拼接T-SQL就可以達到該效果。 那麼,Linq該怎麼實現呢? 網上查了很多資料,找到一種辦法就是通過

JavaHashMap中的Entry實體根據Key或者Value進行排序

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

hashMap分別獲取所有keyvalue

一直記不住,這次必須得自己記錄一下了,遇到就查,太浪費時間了....雖然真的很基礎的問題.... 1、code實現: import java.util.*; public class Main {

Python字典(directory)按keyvalue排序

ted cto () div color sta style reverse python distance = {9149: 0, 9150: 26, 9151: 24, 9152: 24, 9153: 24, 9154: 27, 9155: 25, 9156: 30,

根據ValueMap中的進行排序

value rabl 使用 .html stat pre 背景 添加 ash 背景 SortedMap的實現類TreeMap可以按自然順序或自定義順序遍歷鍵(key),有時我們需要根據值(Value)進行排序,本文提供了一種簡單實現思路。 實現 Comparator接口

Map四種獲取keyvalue值的方法,以及map中的元素排序(轉)

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

hashMapkeyvalue交換

import java.util.HashMap; import java.util.Hashtable; import java.util.Set; import java.util.Collection; class TestCollection{ public static void ma

json象遍歷輸出keyvalue

key ++ kit 方法 pass iba 對象 原生 ack js遍歷json對象原生js遍歷json對象 遍歷json對象: 無規律: <11script> var json = [   {dd:‘SB‘,AA:‘東東‘,re1:123},   {cccc

利用Comparator根據多個Map中某個共同屬性的value進行排序

最近在工作中遇到一個場景,需要對List<Map<String, String>>這樣的結構進行排序,完成此功能後感覺這是一個通用方法,故將此記錄下來,留待以後可能之使用。 其具體情景為,當下有一個List,其中Map結構均相似,且存在一共同屬性ke

java hashMap 查詢效率非常高,看一下根據keyvalue根據valuekey

for(int i=0;i<msg.length();i++){String value=map.get(msg.charAt(i));if(value!=null){   sb.append(value);}else{System.out.println("包含不能識別的字元");break;}}if

HashMap、HashTable的keyvalue是否可為null

結論:HashMap物件的key、value值均可為null。            HahTable物件的key、value值均不可為null。 且兩者的的key值均不能重複,若新增key相同的鍵值

Python 字典元素的賦值 (字典keyvalue均為組合型別)

>>> doc_title = 'nihao' >>> url = 'www.nihao.com' >>> td_matrix = {} >>> td_matrix[(doc_title, url)]

Map裡面的keyvalue按字母排序

import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.u

Map集合按KeyValue分別排序

簡介 Map是鍵值對的集合介面,根據鍵得到值,因此不允許鍵重複,但允許值重複。它的實現類主要包括:HashMap、TreeMap、Hashtable以及LinkedHashMap等。 TreeMap

分別使用PreparedStatementStatementmysql資料庫進行建立表,增加資料,查詢資料刪除資料過程

在使用eclipse工具編寫Java程式碼連線資料庫並對資料庫進行處理時,總會用到對資料的增刪改查操作。那麼這個 時候就用到了java自帶的sql庫中的PreparedStatement或者Statement了。 其實PreparedStatement和Statement使

根據索引獲取Dictionary的keyvalue

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dict

Java Map按照KeyValue排序【轉】

try lin tor put array ava ble nbsp key package kingtool.sort; import java.util.ArrayList; import java.util.Collections; import java.ut