可以使用Collections.sort()方法对List进行排序。
假设需要按照Map中某一指定键的值来进行升序或者降序排序,可以编写如下代码:
import java.math.BigDecimal;
import java.util.Comparator;
import java.util.Map;
public class MapComparator implements Comparator {
private String key; //Map的key
private String comperValue; //up:升序,down:降序
public MapComparator(String key,String comperValue) {
this.key = key;
this.comperValue = comperValue;
}
@Override
public int comper(Map<String, Object> o1, Map<String, Object> o2) {
//此为BigDecimal为例,如需排序其他类型只需要修改value1、value2的数据类型即可
BigDecimal value1 = new BigDecimal(o1.get(key).toString());
BigDecimal value2 = new BigDecimal(o1.get(key).toString());
if ("up".equals(comperValue)){
return value1.compareTo(value2);
}else {
return value2.compareTo(value1);
}
}
}
调用方法
List<Map<String, Object>> myList = new ArrayList<Map<String, Object>>();
Collections.sort(myList,new MapComparator("value","up"));
System.out.println(myList);
其中,需要将“指定键”替换为需要进行比较的Map中的键名。如果需要进行降序排序,则可以将comperValue值换为down。
文章浏览阅读894次。一.jQuery的优点(1)提供了强大的功能函数(2)解决浏览器兼容性问题(3)实现丰富的 UI 和插件(4)纠正错误的脚本知识二.jQuery的核心1.用法用之前先引入jquery的文件2.核心三.DOM 对象和 jQuery 包装集对象1.dom对象 代码示例: <body> <div id="mydiv"></div></body&g..._jq 动态添加行内样式
文章浏览阅读59次。大学文科计算机基础知识点《文科计算机基础(上)》教学内容????????????????????基础知识部分1、?计算机中的信息表示(1)???????数制、基数、权的概念(2)???????计算机科学中常见的数制:二进制、八进制、十进制以及十六进制。(3)???????数制之间的转换(限于无符号整数):除余法、二进制ó十进制、二进制ó十六进制、二进制ó八进制、十六进制ó十进制(4)???????...
文章浏览阅读861次。上篇文章写了centos下编译安装lamp,这次写一下如果支持memchememcached 的工作原理首先 memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等。PHP 等客户端在与 memcached 服务建立连接之后,接下来的_apache memcache
文章浏览阅读335次。前置条件:安装nacos一、加入依赖在教程一的基础上,加入 <!--nacos服务发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <ve_gateway不在nacos中注册服务也能实现 转发
文章浏览阅读1.1w次。从vue-router官网了解到如果是用history模式构建的vue项目打包后是需要后端配置支持的,而hash是不需要的,只不过地址会多了一个#/的后缀。使用hash模式构建的项目打包后,我只需要使用webstorm之类的软件打开访问就能成功了。 但是我用history模式构建的项目需要借助后台技术,我这里选用的是nginx反向代理来部署项目。具体做法如下:_nginx 关于vue-cli的配置
文章浏览阅读256次。 xmlns="http://www.w3.org/1999/xhtml">_有哪些网站用了对联广告形势
文章浏览阅读989次。随着区块链概念理论的不断成熟以及强劲技术的不断深耕,区块链已经成为投资圈中备受关注的热点,从区块链1.0时代落地数字货币比特币、莱特币等,打开了区块链通向新弯道的高速路口,到区块链2.0时代开始通过智能合约来解决货币支付难题,再到3.0时代区块链尝试向各传统行业发力,标志着区块链逐渐由萌芽状态走向实际满足人们渴求状态。互联网时代已经深入整个世界,区块链...
文章浏览阅读1.1k次。1_超级账本共识协议
文章浏览阅读536次,点赞2次,收藏11次。针对两自由度的机械臂和下肢进行学习,讲述了控制方法、基于模型的控制器、Lagrange动力学建模等,作为自己学习的记录_2自由度机械臂
文章浏览阅读923次,点赞12次,收藏18次。一、TCP 简介========第一部分先为大家介绍一下 TCP 的主要概念,并讲解一下 TCP 的三个重要特性——1. 面向连接;2. 基于字节流;3. 可靠性。关于网络分层的概念实在是老生常谈了,下图就是两种经典的分层模型,可以看到 TCP 在网络分层中的位置。网络分层模型。
文章浏览阅读479次,点赞8次,收藏10次。在工程目录中,选中要增加Page的Feature Ability下的pages文件夹或pages文件夹下任意文件,单击鼠标右键,选择。在支持JS、eTS语言的工程中,支持添加新的Page。Page是表示Feature Ability的一个前台页面。,输入Page name(由大小写字母、数据和下划线组成),单击。如果是Har模块,则可以在Har模块下的任意目录下进行添加。_鸿蒙调用har中的pages
文章浏览阅读4.5k次,点赞5次,收藏44次。0. 前言Linux系统中,系统分区主要分为四步。首先对硬盘进行分区,然后对每个分区分别进行格式化,接着Linux系统给每个硬件(包括磁盘的分区)自动进行设备文件名的定义,最后给每个分区分配挂载点。1. 磁盘分区磁盘分区是使用分区编辑器在磁盘上划分几个逻辑部分。碟片一旦划分成数个分区,不同类的目录与文件就可以存储进不同的分区。简单来说,磁盘分区的目的就是为了更快捷更方便的存储数据与使用数据。1.1 两种分区表格式首先说明,无论是Linux系统还是Windows系统,都有这两种分区表格式。换句话_linux 分区