日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java TreeMap升序|降序排列和按照value進行排序的案例

瀏覽:129日期:2022-08-22 15:57:22

TreeMap 升序|降序排列

import java.util.Comparator;import java.util.TreeMap;public class Main { public static void main(String[] args) { TreeMap<Integer,Integer> map1 = new TreeMap<Integer,Integer>(); //默認的TreeMap升序排列 TreeMap<Integer,Integer> map2= new TreeMap<Integer,Integer>(new Comparator<Integer>(){ /** int compare(Object o1, Object o2) 返回一個基本類型的整型,* 返回負數表示:o1 小于o2,* 返回0 表示:o1和o2相等,* 返回正數表示:o1大于o2。*/ public int compare(Integer a,Integer b){return b-a; } }); map2.put(1,2); map2.put(2,4); map2.put(7, 1); map2.put(5,2); System.out.println('Map2='+map2); map1.put(1,2); map1.put(2,4); map1.put(7, 1); map1.put(5,2); System.out.println('map1='+map1); }}

TreeMap按照value進行排序

TreeMap底層是根據紅黑樹的數據結構構建的,默認是根據key的自然排序來組織(比如integer的大小,String的字典排序)。所以,TreeMap只能根據key來排序,是不能根據value來排序的(否則key來排序根本就不能形成TreeMap)。

今天有個需求,就是要根據treeMap中的value排序。所以網上看了一下,大致的思路是把TreeMap的EntrySet轉換成list,然后使用Collections.sor排序。

代碼:

public static void sortByValue() { Map<String,String> map = new TreeMap<String,String>(); map.put('a', 'dddd'); map.put('d', 'aaaa'); map.put('b', 'cccc'); map.put('c', 'bbbb');List<Entry<String, String>> list = new ArrayList<Entry<String, String>>(map.entrySet());Collections.sort(list,new Comparator<Map.Entry<String,String>>() { //升序排序 public int compare(Entry<String, String> o1, Entry<String, String> o2) {return o1.getValue().compareTo(o2.getValue()); } });for (Entry<String, String> e: list) { System.out.println(e.getKey()+':'+e.getValue()); } }

補充知識:使用比較器對Treemap按照value進行排序

使用比較器對Treemap按照value進行排序(value值只有是string類型時才適用)

有時我們需要根據TreeMap的value來進行排序。對value排序我們就需要借助于Collections的sort(List list, Comparator

public class MapSortDemo { public static void main(String[] args) { Map<String, String> map = new TreeMap<String, String>(); map.put('KFC', 'kfc'); map.put('WNBA', 'wnba'); map.put('NBA', 'nba'); map.put('CBA', 'cba'); Map<String, String> resultMap = sortMapByKey(map); //按Key進行排序// Map<String, String> resultMap = sortMapByValue(map); //按Value進行排序 for (Map.Entry<String, String> entry : resultMap.entrySet()) { System.out.println(entry.getKey() + ' ' + entry.getValue()); } } /** * 使用 Map按value進行排序 * @param map * @return */ public static Map<String, String> sortMapByValue(Map<String, String> oriMap) { if (oriMap == null || oriMap.isEmpty()) { return null; } Map<String, String> sortedMap = new LinkedHashMap<String, String>(); List<Map.Entry<String, String>> entryList = new ArrayList<Map.Entry<String, String>>(oriMap.entrySet()); Collections.sort(entryList, new MapValueComparator()); Iterator<Map.Entry<String, String>> iter = entryList.iterator(); Map.Entry<String, String> tmpEntry = null; while (iter.hasNext()) { tmpEntry = iter.next(); sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue()); } return sortedMap; }}

//比較器class MapValueComparator implements Comparator<Map.Entry<String, String>> { @Override public int compare(Entry<String, String> me1, Entry<String, String> me2) { return me1.getValue().compareTo(me2.getValue()); }}

方式二

public class TreeMapTest { public static void main(String[] args) { Map<String, String> map = new TreeMap<String, String>(); map.put('a', 'ddddd'); map.put('c', 'bbbbb'); map.put('d', 'aaaaa'); map.put('b', 'ccccc'); //這里將map.entrySet()轉換成list List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet()); //然后通過比較器來實現排序 Collections.sort(list,new Comparator<Map.Entry<String,String>>() { //升序排序 public int compare(Entry<String, String> o1, Entry<String, String> o2) {return o1.getValue().compareTo(o2.getValue()); } }); for(Map.Entry<String,String> mapping:list){ System.out.println(mapping.getKey()+':'+mapping.getValue()); } }}

運行結果如下:

d:aaaaa

c:bbbbb

b:ccccc

a:ddddd

以上這篇Java TreeMap升序|降序排列和按照value進行排序的案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲免费网址| 欧美日本不卡高清| 久久婷婷激情| 精品不卡一区| 国产精品美女午夜爽爽| 欧美视频久久| 欧美精品九九| 精品高清久久| 蜜桃91丨九色丨蝌蚪91桃色| 国产在线一区不卡| 日本在线高清| 成人污污视频| 国产精品蜜芽在线观看| 久久香蕉网站| 欧美激情视频一区二区三区免费 | 国产成人久久精品麻豆二区 | 天堂√中文最新版在线| а√在线中文在线新版| 蜜桃一区二区三区| 首页欧美精品中文字幕| 国产精品一区毛片| 香蕉成人av| 欧美国产日韩电影| 精品视频自拍| 精品一区二区三区亚洲| 日韩在线卡一卡二| 美女久久久久久 | 欧美日韩伊人| 国产精品一级| 日韩av成人高清| 国产精品亚洲产品| 精品一区二区三区中文字幕| 日精品一区二区三区| 日本午夜精品一区二区三区电影| 女生影院久久| 国产福利片在线观看| 91九色综合| 欧美精品一区二区三区精品| 国内不卡的一区二区三区中文字幕| 国精品产品一区| 久久国产欧美| 国产精品片aa在线观看| 国产精品一区二区av日韩在线| 国产麻豆精品| 欧美精品导航| 国产精品多人| 亚洲高清影视| 久久久久国产精品一区二区| 免费在线小视频| 日韩va亚洲va欧美va久久| 成人在线丰满少妇av| 欧美在线资源| 欧美韩日一区| 日韩中文字幕一区二区高清99| 国产精品久久久免费| 激情综合网站| 激情综合自拍| 国产精品99视频| 久久国产电影| 伊人久久成人| 国产美女高潮在线观看| 国产精品v亚洲精品v日韩精品| 玖玖精品视频| 日本不卡不码高清免费观看| av不卡在线看| 久久久蜜桃一区二区人| 亚洲一区区二区| 高清一区二区三区| 亚洲在线免费| 91福利精品在线观看| 亚洲国产福利| av一区在线| 国产精品对白| 国产成人精品一区二区三区免费 | 欧美伊人久久| 久久久精品午夜少妇| 中文字幕成人| 石原莉奈在线亚洲三区| 亚洲在线免费| 蜜桃视频一区二区三区| 三级亚洲高清视频| 日韩专区在线视频| 夜夜嗨av一区二区三区网站四季av| 成人台湾亚洲精品一区二区| 免费在线亚洲欧美| 国产精品久久久免费| 国产精品片aa在线观看| 麻豆91在线播放| 久久97视频| 超级白嫩亚洲国产第一| 精品视频网站| 欧美精品日日操| 免费成人网www| 亚洲欧美日韩精品一区二区| 亚洲人妖在线| 国产精品一区二区99| 精品三区视频| 91精品国产成人观看| 99在线观看免费视频精品观看| 蜜臀av亚洲一区中文字幕| 青草国产精品久久久久久| 国产精品尤物| 亚洲91视频| 亚洲精品一二三**| 精品黄色一级片| 超级白嫩亚洲国产第一| 欧美在线影院| 麻豆极品一区二区三区| 亚洲v在线看| 丝袜美腿高跟呻吟高潮一区| 国产精品毛片aⅴ一区二区三区| 日韩av二区在线播放| 在线天堂资源www在线污| 国产精品毛片| 国产欧美日韩影院| 精品三级国产| 午夜国产精品视频免费体验区| 一区二区三区午夜视频| 国内一区二区三区| 欧美精品一区二区久久| 久久亚洲色图| 欧美日本不卡高清| 国产 日韩 欧美一区| 日韩国产欧美在线视频| 日韩精品dvd| 视频一区二区三区中文字幕| 老鸭窝一区二区久久精品| 欧美日韩国产高清| 久久三级福利| 久久av偷拍| 亚洲精品麻豆| 亚洲伦乱视频| 国产精品视频一区二区三区四蜜臂 | 激情欧美一区| 国产亚洲一区二区三区啪| 欧美成人日韩| 久草免费在线视频| 亚洲aa在线| 久久久久久黄| 麻豆91在线播放| 国产亚洲字幕| 久久亚洲一区| 国产精品美女久久久浪潮软件| 久久精品国产网站| 夜夜嗨一区二区| 婷婷亚洲五月| 欧美国产一级| 国产精品xx| 精品国产亚洲日本| 国产成人77亚洲精品www| av中文字幕在线观看第一页| 成人在线超碰| 国产日韩免费| 国产精品二区不卡| 久久久777| 爽爽淫人综合网网站| 日本欧美一区| 国际精品欧美精品| 日韩一区欧美| 天使萌一区二区三区免费观看| 中文无码久久精品| 国产一区二区高清| 爽好多水快深点欧美视频| 日韩三级久久| 久久精品国产精品亚洲毛片| 国产欧美日韩一区二区三区四区 | 91精品成人| 亚洲欧洲专区| 国产精品久久观看| 亚洲成人日韩| 97se亚洲| 久久精品影视| 蜜臀a∨国产成人精品| 黄在线观看免费网站ktv| 欧洲av一区二区| 国产精品久久久久久久久久久久久久久| 成人片免费看| 欧美午夜三级| 欧美在线综合| 婷婷综合六月| 国产精品久久久久久久久久妞妞 | 香蕉成人久久| 日韩欧美视频专区| 欧美三级第一页| 亚洲欧美视频一区二区三区| 蜜桃视频免费观看一区| 国产一区观看| 日韩激情综合| 日韩激情中文字幕| 日韩精品第一区| 香蕉久久夜色精品国产| 蜜桃视频一区二区三区在线观看| 久久青青视频| 久久精品国产99| 激情综合五月| 美女尤物国产一区| 日韩精品视频在线看| 亚洲精品国产偷自在线观看| 91精品久久久久久久久久不卡| 麻豆精品在线视频|