TreeMap 升序|降序排列

import java.util.Comparator;

import java.util.TreeMap;

public class Main {

public static void main(String[] args) {

TreeMap map1 = new TreeMap(); //默认的TreeMap升序排列

TreeMap map2= new TreeMap(new Comparator(){

/*

* 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 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学习篇--数组按升序降序排列

mapreduce程序的按照key值从大到小降序排列

在近期的Hadoop的学习中,在学习mapreduce时遇到问题:让求所给数据的top10,们我们指导mapreduce中是有默认的排列机制的,是按照key的升序从大到小排列的 然而top10问题的求 ...

转<<C#集合Dictionary中按值的降序排列

转载地址:http://blog.sina.com.cn/s/blog_5c5bc9070100pped.html C#集合Dictionary中按值的降序排列 static void Main(st ...

MSSQL 随机查询且降序排列

--随机查询且降序排列 * FROM dbo.COMPANY_USER_INFO ORDER BY NEWID()) AS T ORDER BY T.cu_id DESC

Shell练习 统计单词个数,降序排列

原文:https://leetcode.com/problems/word-frequency/ Write a bash script to calculate the frequency of e ...

C# List.sort排序详解(多权重,升序降序)

很多人可能喜欢Linq的orderBy排序,可惜U3D里面linq在Ios上会报错,所以就必须使用list的排序. 其实理解了并不难 升序降序比较 sort有三种结果 1,-1,0分别是大,小,相等. ...

Linux显示按文件大小降序排列

Linux显示按文件大小降序排列 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -ls 总用量 56 12 -rw-r--r-- 1 youhaidon ...

python小练习: 给定一个数组 按重复次数 降序排列输出 数组非空且为正整数

假设有个列表  a=[1,1,1,2,2,4,5,5,5,5] (非空且为正整数) 那么根据要求 最终输出的形式为  5,1,2,4  (按重复次数 降序排列输出) 代码实现及解释: a=[1,1,1 ...

随机推荐

ZeroMQ接口函数之 :zmq_connect - 由一个socket创建一个对外连接

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_connect zmq_connect(3)  ØMQ Manual - ØMQ/3.2.5 Name zmq_c ...

Core Data的简单用法

#import "ViewController.h" // 第一步:引入头文件AppDelegate #import "AppDelegate.h" #impo ...

uploadify 3.2 后台动态传参数

最近在弄一个上传的小功能,需要往后台传递一些动态参数,网上有一些传参数可能是因为版本不对也没成功.仔细看了官网的一些说明,搞定了. 3.2中传递参数用的的是'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 使用有限状态机 完美还原 王者荣耀 虚拟摇杆

Unity 使用有限状态机 完美还原 王者荣耀 虚拟摇杆 效果如图所示 摇杆的UI组成 如图所示 简单的可以认为摇杆由1.2.3贴图组成 为摇杆的底座 为摇杆的杆 为摇杆的指向 可以理解这就是街机上的 ...

Linux下部署配置Nginx

1.安装工具包 yum install -y wget 下载工具 yum install -y vim-enhanced vim编辑器 yum install -y make cmake gcc gc ...

c语言把mysql数据库语句和变量封装为一个语句

我有一个语句 sql = "insert into talbe_name  values(name,age)"  其中name和age两个变量根据外面的输入来确定,有两种方法 1: ...

SQL 动态PIVOT查询

DECLARE @sql_str VARCHAR(8000)DECLARE @sql_col VARCHAR(8000) SELECT @sql_col = ISNULL(@sql_col + ',' ...

java升序降序排列desc,TreeMap升序|降序排列和按照value进行排序相关推荐

  1. java treemap value排序_Java TreeMap升序|降序排列和按照value进行排序的案例

    TreeMap 升序|降序排列 import java.util.Comparator; import java.util.TreeMap; public class Main { public st ...

  2. mysql按升序创建索引_MySQL8新特性:降序索引详解

    前言 MySQL 8.0终于支持降序索引了.其实,从语法上,MySQL 4就支持了,但正如官方文档所言,"they are parsed but ignored",实际创建的还是升 ...

  3. MySQL中的升序降序以及字段的升序降序

    MySQL中 升序为asc 降序为desc 例如: 升序:select   *  from  表名 order by  表中的字段 asc(MySQL中默认是升序排列,可不写) : 降序:select ...

  4. Mysql中的升序和降序以及一个字段升序和一个字段降序

    [Mysql中的升序和降序以及一个字段升序和一个字段降序](https://www.wuhaiqiao.com/2020/304.html)

  5. 数组的合并和升序排列_leetcode No.31 下一个排列

    题目链接: 下一个排列 - 力扣(LeetCode)​leetcode-cn.com 题目描述: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个 ...

  6. Java 容器源码分析之 TreeMap

    TreeMap 是一种基于红黑树实现的 Key-Value 结构.在使用集合视图在 HashMap 中迭代时,是不能保证迭代顺序的: LinkedHashMap 使用了双向链表,保证按照插入顺序或者访 ...

  7. 一个排列是某些对象的有序组合,例如,3124 就是数字 1,2,3,4 的一种可能排列。 如果所有的排列按照数值或者字母序排序,我们称其为一个字典序。 0, 1, 2 的字典排列有:012 021 1

    字典排列 一个排列是某些对象的有序组合,例如,3124 就是数字 1,2,3,4 的一种可能排列. 如果所有的排列按照数值或者字母序排序,我们称其为一个字典序. 0, 1, 2 的字典排列有:012 ...

  8. 《Java程序员,上班那点事儿》序——刘博

    <Java程序员,上班那点事儿>序--刘博 清华大学出版社<Java程序员,上班那点事儿>作者:钟声        我是学软件的.二十六年前我大学毕业的时候担心的是能不能分配一 ...

  9. 【Java TreeMap】测试TreeMap的使用、Comparabe自定义类的自定义排序方式

    TreeMap TreeMap<键,值对>底层是红黑树,元素放进去之后会自动根据key排序. 测试代码 测试TreeMap的使用.Comparabe自定义类的自定义排序方式e packag ...

最新文章

  1. Python 序列类型支持拆包操作
  2. Expression Blend 定义RadioButton行为动画
  3. Linux 命令积累 fuser lsof mtr
  4. bytes数组转string指定编码_一篇文章弄懂Python中所有数组数据类型
  5. 快速排序+统计→奶牛的耳语(洛谷P1296题题解,Java语言描述)
  6. MySQL 安装 [mysql-5.6.37]
  7. mysql 中like怎么用_mysql中like怎么用?
  8. emf(Enhanced MetaFile)图片格式——在印刷工业中应用于Windows操作系统的文件格式
  9. linux steam大屏幕模式,Steam 大屏幕模式 - Steam Support
  10. 用php打竖的文字_手写php函数处理 竖排文字
  11. RabbitMQ的ack与nack
  12. 用scrapy爬虫无数据
  13. 大名鼎鼎2006 7.2版
  14. SDKMAN因为网络问题用不了怎么办?
  15. 用c语言编写字母循环,C语言输入循环字母
  16. 微信小程序开发之表单验证(WxValidate使用)
  17. 阿里云服务器1核1G内存1M带宽能放几个网站及多少流量
  18. 服务器防护ddos攻击的几种方法
  19. 计算机网络:IPv6
  20. scrcpy替换minicap

热门文章

  1. (转载)H5 手机 App 开发入门:技术篇
  2. Go 自定义日期时间格式解析解决方案 - 解决 `parsing time xx as xx: cannot parse xx as xx` 错误
  3. 新垣结衣自拍照_仅使用代码创建自拍照
  4. 用代码制作五角星2021-10-22
  5. 期货开户关于基本面量化
  6. 拼多多和猿辅导SQL题
  7. 印象笔记卸载不完全导致重装失败解决方法
  8. 贪心1|455.分发饼干|376. 摆动序列|53. 最大子序和
  9. Rust crates私有化部署指南(private alternative registry)
  10. Zemax操作39--POP的案例(空间滤波器)