博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中map容器分别根据键key和值value进行排序的总结
阅读量:4072 次
发布时间:2019-05-25

本文共 1324 字,大约阅读时间需要 4 分钟。

map中根据键key来进行排序

  • 根据键key来进行排序比较容易,我们只需要使用map中的Treemap就可以实现,它会根据key值的自然顺序来进行排序。
  • 下面用一个示例来进行说明演示,给定一串全部是小写字符的字符串,要求它能够按照字符的顺序输出各个字母出现了多少次。
public class javaPractice {    public static void main(String[] args) {        String str="aaassssbb";        //map函数的用法,根据key进行排序,,用TreeMap        TreeMap
map=new TreeMap
(); int len=str.length(); for(int i=0;i
  • 结果
    在这里插入图片描述

map中根据值value来进行排序

  • 根据map的值value排序就没有直接的容器供我们使用了,我们可以先创建一个Hashmap将数据先存储进去,然后将map集合转到list集合中,这里我们用ArrayList,然后通过Collections.sort(List I,Comparator c)方法来进行排序。
  • 下面通过一个示例来进行演示,还是上面的问题,这次我们根据字母出现的次数由多到少来进行排序value,当然value可能会相同,这时候根据key的顺序排序,就可以将Hashmap用为Treemap,或者comparator中进行调整。
public class javaPractice {    public static void main(String[] args) {        String str="aaaddssssbb";        //map函数的用法,根据value进行排序,先声明一个HashMap        HashMap
map=new HashMap
(); int len=str.length(); for(int i=0;i
> list=new ArrayList
>(map.entrySet()); //通过Collection.sort(List I,Comparator c)方法来进行排序,代码如下 Collections.sort(list, new Comparator
>() { @Override public int compare(Map.Entry
o1, Map.Entry
o2) { return o2.getValue()-o1.getValue(); } }); //用foreach循环进行输出 for(Map.Entry
a :list){ System.out.println(a.getKey()+":"+a.getValue()); } }}
  • 结果:
    在这里插入图片描述

转载地址:http://ptgji.baihongyu.com/

你可能感兴趣的文章
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>
mongdb介绍
查看>>
Yotta企业云盘更好的为媒体广告业服务
查看>>
Yotta企业云盘助力科技行业创高峰
查看>>
Yotta企业云盘更好地为教育行业服务
查看>>
Yotta企业云盘怎么帮助到能源化工行业
查看>>
企业云盘如何助力商业新发展
查看>>
医疗行业运用企业云盘可以带来什么样的提升
查看>>
媒体广告业如何运用云盘提升效率
查看>>
企业如何运用企业云盘进行数字化转型-实现新发展
查看>>
iSecret 1.1 正在审核中
查看>>
IOS开发的开源库
查看>>
IOS开发的开源库
查看>>
Jenkins - sonarqube 代码审查
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成(一)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 单机部署(二)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 高可用集群部署(三)
查看>>
Golang struct 指针引用用法(声明入门篇)
查看>>