java升序降序排列desc,TreeMap升序|降序排列和按照value进行排序
TreeMap 升序|降序排列
import java.util.Comparator;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
TreeMap map1 = new TreeMap(); //默認(rèn)的TreeMap升序排列
TreeMap map2= new TreeMap(new Comparator(){
/*
* int compare(Object o1, Object o2) 返回一個(gè)基本類型的整型,
* 返回負(fù)數(shù)表示:o1 小于o2,
* 返回0 表示:o1和o2相等,
* 返回正數(shù)表示: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進(jìn)行排序
TreeMap底層是根據(jù)紅黑樹的數(shù)據(jù)結(jié)構(gòu)構(gòu)建的,默認(rèn)是根據(jù)key的自然排序來(lái)組織(比如integer的大小,String的字典排序)。所以,TreeMap只能根據(jù)key來(lái)排序,是不能根據(jù)value來(lái)排序的(否則key來(lái)排序根本就不能形成TreeMap)。
今天有個(gè)需求,就是要根據(jù)treeMap中的value排序。所以網(wǎng)上看了一下,大致的思路是把TreeMap的EntrySet轉(zhuǎn)換成list,然后使用Collections.sor排序。代碼:
public static void sortByValue() {
Map map = new TreeMap();
map.put("a", "dddd");
map.put("d", "aaaa");
map.put("b", "cccc");
map.put("c", "bbbb");
List> list = new ArrayList>(map.entrySet());
Collections.sort(list,new Comparator>() {
//升序排序
public int compare(Entry o1, Entry o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
for (Entry e: list) {
System.out.println(e.getKey()+":"+e.getValue());
}
}
js學(xué)習(xí)篇--數(shù)組按升序降序排列
mapreduce程序的按照key值從大到小降序排列
在近期的Hadoop的學(xué)習(xí)中,在學(xué)習(xí)mapreduce時(shí)遇到問(wèn)題:讓求所給數(shù)據(jù)的top10,們我們指導(dǎo)mapreduce中是有默認(rèn)的排列機(jī)制的,是按照key的升序從大到小排列的 然而top10問(wèn)題的求 ...
轉(zhuǎn)<;<;C#集合Dictionary中按值的降序排列
轉(zhuǎn)載地址:http://blog.sina.com.cn/s/blog_5c5bc9070100pped.html C#集合Dictionary中按值的降序排列 static void Main(st ...
MSSQL 隨機(jī)查詢且降序排列
--隨機(jī)查詢且降序排列 * FROM dbo.COMPANY_USER_INFO ORDER BY NEWID()) AS T ORDER BY T.cu_id DESC
Shell練習(xí) 統(tǒng)計(jì)單詞個(gè)數(shù),降序排列
原文:https://leetcode.com/problems/word-frequency/ Write a bash script to calculate the frequency of e ...
C# List.sort排序詳解(多權(quán)重,升序降序)
很多人可能喜歡Linq的orderBy排序,可惜U3D里面linq在Ios上會(huì)報(bào)錯(cuò),所以就必須使用list的排序. 其實(shí)理解了并不難 升序降序比較 sort有三種結(jié)果 1,-1,0分別是大,小,相等. ...
Linux顯示按文件大小降序排列
Linux顯示按文件大小降序排列 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -ls 總用量 56 12 -rw-r--r-- 1 youhaidon ...
python小練習(xí): 給定一個(gè)數(shù)組 按重復(fù)次數(shù) 降序排列輸出 數(shù)組非空且為正整數(shù)
假設(shè)有個(gè)列表? a=[1,1,1,2,2,4,5,5,5,5] (非空且為正整數(shù)) 那么根據(jù)要求 最終輸出的形式為? 5,1,2,4? (按重復(fù)次數(shù) 降序排列輸出) 代碼實(shí)現(xiàn)及解釋: a=[1,1,1 ...
隨機(jī)推薦
ZeroMQ接口函數(shù)之 :zmq_connect - 由一個(gè)socket創(chuàng)建一個(gè)對(duì)外連接
ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_connect zmq_connect(3)? ?MQ?Manual?-??MQ/3.2.5 Name zmq_c ...
Core Data的簡(jiǎn)單用法
#import "ViewController.h" // 第一步:引入頭文件AppDelegate #import "AppDelegate.h" #impo ...
uploadify 3.2 后臺(tái)動(dòng)態(tài)傳參數(shù)
最近在弄一個(gè)上傳的小功能,需要往后臺(tái)傳遞一些動(dòng)態(tài)參數(shù),網(wǎng)上有一些傳參數(shù)可能是因?yàn)榘姹静粚?duì)也沒(méi)成功.仔細(xì)看了官網(wǎng)的一些說(shuō)明,搞定了. 3.2中傳遞參數(shù)用的的是'formData':{'somekey': ...
Uva 10288 Coupons
Description Coupons in cereal boxes are numbered \(1\) to \(n\), and a set of one of each is require ...
Unity 使用有限狀態(tài)機(jī) 完美還原 王者榮耀 虛擬搖桿
Unity 使用有限狀態(tài)機(jī) 完美還原 王者榮耀 虛擬搖桿 效果如圖所示 搖桿的UI組成 如圖所示 簡(jiǎn)單的可以認(rèn)為搖桿由1.2.3貼圖組成 為搖桿的底座 為搖桿的桿 為搖桿的指向 可以理解這就是街機(jī)上的 ...
Linux下部署配置Nginx
1.安裝工具包 yum install -y wget 下載工具 yum install -y vim-enhanced vim編輯器 yum install -y make cmake gcc gc ...
c語(yǔ)言把mysql數(shù)據(jù)庫(kù)語(yǔ)句和變量封裝為一個(gè)語(yǔ)句
我有一個(gè)語(yǔ)句 sql = "insert into talbe_name ?values(name,age)" ?其中name和age兩個(gè)變量根據(jù)外面的輸入來(lái)確定,有兩種方法 1: ...
SQL 動(dòng)態(tài)PIVOT查詢
DECLARE @sql_str VARCHAR(8000)DECLARE @sql_col VARCHAR(8000) SELECT @sql_col = ISNULL(@sql_col + ',' ...
總結(jié)
以上是生活随笔為你收集整理的java升序降序排列desc,TreeMap升序|降序排列和按照value进行排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android上实现一个简单的天气预报A
- 下一篇: win10 蓝牙耳机配对成功,但无法连接