Java Map 按Key排序
有時候我們業務上需要對map裡面的值按照key的大小來進行排序的時候我們就可以利用如下方法來進行排序了,
package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class Demo {
private HashMap<Integer, Object> map =new HashMap<Integer, Object>();
private Set<Integer> keySet = map.keySet();
public Object get(Integer key) {
return map.get(key);
}
public void put(Integer key, Object value) {
map.put(key, value);
}
@SuppressWarnings("unchecked")
public void sort() {
List<Integer> list =new ArrayList<Integer>(map.keySet ());
Collections.sort(list, new Comparator<Object>(){
public int compare(Object a, Object b) {
return a.toString().toLowerCase().compareTo(b.toString().toLowerCase());
}
});
this.keySet = new TreeSet<Integer>(list);
}
public Set<Integer> keySet() {
return this.key
}
public static void main(String [] args){
Demo map= new Demo();
map.put(11, "加");
map.put(12, "關");
map.put(13, "注");
map.put(10, "添");
map.put(1, "小");
map.put(8, "記");
map.put(9, "得");
map.put(7, "客");
map.put(5, "的");
map.put(6, "博");
map.put(4, "豆");
map.put(3, "糖");
map.put(2, "小");
System.out.println("排序前");
for (Iterator it =map.keySet().iterator();it.hasNext();){
Integer key= (Integer)it.next();
System.out.println( "key[ " + key + "], value[ " + map.get(key) + "] ");
}
//
System.out.println("排序後");
System.out.println( "\n ");
map.sort();
for (Iterator it=map.keySet().iterator();it.hasNext();) {
Integer key=(Integer)it.next();
System.out.println( "key[ " + key + "], value[ " + map.get(key) + "] ");
}
}
}
執行效果如下
排序前
key[ 1], value[ 小]
key[ 2], value[ 小]
key[ 3], value[ 糖]
key[ 4], value[ 豆]
key[ 5], value[ 的]
key[ 6], value[ 博]
key[ 7], value[ 客]
key[ 8], value[ 記]
key[ 9], value[ 得]
key[ 10], value[ 添]
key[ 11], value[ 加]
key[ 12], value[ 關]
key[ 13], value[ 注]
排序後
key[ 1], value[ 小]
key[ 2], value[ 小]
key[ 3], value[ 糖]
key[ 4], value[ 豆]
key[ 5], value[ 的]
key[ 6], value[ 博]
key[ 7], value[ 客]
key[ 8], value[ 記]
key[ 9], value[ 得]
key[ 10], value[ 添]
key[ 11], value[ 加]
key[ 12], value[ 關]
key[ 13], value[ 注]
相關推薦
Java Map 按Key排序和按Value排序
Map排序的方式有很多種,這裡記錄下自己總結的兩種比較常用的方式:按鍵排序(sort by key), 按值排序(sort by value)。 1、按鍵排序 jdk內建的java.util包下的TreeMap<K,V>既可滿足此類需求,向其構造方法 Tree
Java Map按key排序與按value排序
Java Map 按Key排序和按Value排序 Map排序的方式有很多種,這裡記錄下自己總結的兩種比較常用的方式:按鍵排序(sort by key), 按值排序(sort by value)。 1、按鍵排序 jdk內建的java.util包下的TreeMap<K,V>既可滿
Java Map 按Key排序
有時候我們業務上需要對map裡面的值按照key的大小來進行排序的時候我們就可以利用如下方法來進行排序了, package test; import java.util.ArrayList; impo
Java Map按鍵(Key)排序和按值(Value)排序
Map排序的方式有很多種,兩種比較常用的方式:按鍵排序(sort by key), 按值排序(sort by value)。 1、按鍵排序 jdk內建的java.util包下的TreeMap<K,V>既可滿足此類需求,向其構造方法 TreeMap(Comparator
java-map按key升序排序
/** * 使用 Map按key進行排序 * @param map * @return */ public static Map<Object, Object> sort
[Java]HashMap按key排序和按value排序的兩種簡便方法
前言 HashMap的儲存是沒有順序的,而是按照key的HashCode實現. key=手機品牌,value=價格,這裡以這個例子實現按名稱排序和按價格排序. Map phone=new HashMap(); phone.put("Apple",729
Map 按Key排序 和 按Value排序
https://www.cnblogs.com/binz/p/6671917.html 一、根據value排序 通用方法 public class MapUtil { public static <K, V extends Comparable<? super V>&g
java中的Map集合按Key排序
/** * 按key 升序排序,並輸出結果 */ public static void testSortByKey(){ Map<String, String> map = new H
Java Map按照Key和Value排序【轉】
try lin tor put array ava ble nbsp key package kingtool.sort; import java.util.ArrayList; import java.util.Collections; import java.ut
C++ STL中Map的按Key排序和按Value排序
map是用來存放<key, value>鍵值對的資料結構,可以很方便快速的根據key查到相應的value。假如儲存學生和其成績(假定不存在重名,當然可以對重名加以區分),我們用map來進行儲存就是個不錯的選擇。 我們這樣定義,map<string, i
Java中Map按Value排序
前言 Map是鍵值對的集合介面,它的實現類主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap 基於紅黑樹(Red-Black tree)的 NavigableMap 實現,該對映根據其鍵的自然順序進行排序,或者
js操作map集合按key排序
Json傳到前到的資料如下 : [ {"unitdesc":" 作品為主,同時兼備***館的各項功能。", "unitheatTotal":0, "unitcoldTotal":1176.02, "u
c++中map按key和value排序
algo second ios ring out 升序 i++ con pre 1 ``` 2 #include<iostream> 3 #include<algorithm> 4 #include<vector> 5 #in
map按key和value排序
TreeMap: 預設按照key升序進行排序 public static void main(String[] args) { TreeMap<String, Integer> map = new TreeMap<>
map 按key或value排序
開源框架提供的 org.apache.commons.collections.map.ListOrderedMap 可以按key 排序 AtomicInteger為什麼能夠達到多而不亂,處理高併發應付自如呢? 這是由硬體提供原子操作指令實現的。在非激烈競爭的情況下,開銷
Java Map 通過 key 或者 value 過濾
BE IV test 循環 clu lam version 依賴 lte 今天寫根過濾的時候一下子有點楞眼,先是想到用 Java 原生的 map 循環查出來,但是覺得太 low, 後面思考了一下可以用 Java8 的 Lambda,寫完了,又發現 Google Guava
JAVA map按照key,value比較
mil ont style 倒序 print hashmap lis dma arraylist import java.util.*;public class MapSortDemo { public static void main(String[] args)
C++Map按Value排序
turn con pre clas using code ios first esp #include <iostream> #include <map> #include <algorithm> #include <string
[Python筆記]字典按key排序和按value排序的方法
#按Key排序(字母順序) #新建一個字典{手機品牌,價格} phone={'Meizu':2698,'Apple':7299,'Xiaomi':2400,'Samsung':6000} [(key,phone[key]) for key in sorted(phone)] #方法1
[轉載] python的sorted函式,對字典按key排序和按value排序
先來基本介紹一下sorted函式,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個引數。 其中iterable表示可以迭代的物件,例如可以是 dict.items()、dict.keys()等,key是一個函式,用