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排序
# 按Key排序详解及实例
# Java Map 按key排序和按Value排序的实现方法
# Java中对list map根据map某个key值进行排序的方法
# java8 stream 操作map根据key或者value排序的实现
# Android 对Map按key和value分别排序的实例
# Map按单个或多个Value排序当Value相同时按Key排序
# java中Map如何根据key的大小进行排序详解
# java中如何对Map的key顺序排序
# 希望能
# 谢谢大家
# 方法来
# 就可以
# Comparator
# HashMap
# Iterator
# util
# ArrayList
# Collections
# List
# TreeSet
# public
# Demo
# lt
# private
# Set
# Key
相关文章:
ppt制作免费网站有哪些,ppt模板免费下载网站?
如何配置支付宝与微信支付功能?
如何快速搭建二级域名独立网站?
如何通过网站建站时间优化SEO与用户体验?
如何选择建站程序?包含哪些必备功能与类型?
建站主机SSH密钥生成步骤及常见问题解答?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
建站主机选虚拟主机还是云服务器更好?
北京专业网站制作设计师招聘,北京白云观官方网站?
如何快速辨别茅台真假?关键步骤解析
如何解决VPS建站LNMP环境配置常见问题?
海南网站制作公司有哪些,海口网是哪家的?
建站之星北京办公室:智能建站系统与小程序生成方案解析
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何选择服务器才能高效搭建专属网站?
如何在宝塔面板创建新站点?
c# 在高并发场景下,委托和接口调用的性能对比
济南网站制作的价格,历城一职专官方网站?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
高防服务器租用如何选择配置与防御等级?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何基于PHP生成高效IDC网络公司建站源码?
网站制作企业,网站的banner和导航栏是指什么?
建站主机是什么?如何选择适合的建站主机?
如何挑选最适合建站的高性能VPS主机?
如何在阿里云虚拟主机上快速搭建个人网站?
如何使用Golang安装API文档生成工具_快速生成接口文档
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
制作宣传网站的软件,小红书可以宣传网站吗?
如何高效搭建专业期货交易平台网站?
制作证书网站有哪些,全国城建培训中心证书查询官网?
如何快速查询网址的建站时间与历史轨迹?
javascript基本数据类型及类型检测常用方法小结
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
C#如何序列化对象为XML XmlSerializer用法
简单实现Android文件上传
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
深圳网站制作的公司有哪些,dido官方网站?
如何快速搭建高效WAP手机网站吸引移动用户?
宁波免费建站如何选择可靠模板与平台?
动图在线制作网站有哪些,滑动动图图集怎么做?
建站之星如何实现PC+手机+微信网站五合一建站?
建站10G流量真的够用吗?如何应对访问高峰?
如何快速搭建高效WAP手机网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
兔展官网 在线制作,怎样制作微信请帖?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
*请认真填写需求信息,我们会在24小时内与您取得联系。