kotlin中对HashMap的排序和java中有些不同

java

重写Comparator

 Map<String, String> map = new HashMap<String, String>();map.put("c", "ccccc");map.put("a", "aaaaa");map.put("b", "bbbbb");map.put("d", "ddddd");List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet());Collections.sort(list,new Comparator<Map.Entry<String,String>>() {//升序排序public int compare(Entry<String, String> o1,Entry<String, String> o2) {return o1.getValue().compareTo(o2.getValue());}});

kotlin

val scopeMap = HashMap<String,Int>()scopeMap["c"] = 72scopeMap["a"] = 85scopeMap["b"] = 80scopeMap["d"] = 70
//正序
val mapSort = scopeMap.entries.sortedBy { it.value }.associateBy ({ it.key }, { it.value } )
//倒叙
val mapDescSort = scopeMap.entries.sortedByDescending { it.value }.associateBy ({ it.key }, { it.value } )

kotlin中map对value进行排序相关推荐

  1. c++ map是有序还是无序的_C++ STL中Map的按Key排序和按Value排序

    map是用来存放键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择. 我们这样定义 ...

  2. C++ STL中Map的按Key排序和按Value排序

    map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行 ...

  3. Kotlin中常用集合的使用

    集合在程序中的比例的很重的,Kotlin针对集合进行了更加简洁和有效的封装,这边文章就简单的介绍一下list,map,set这三个最常用集合的使用. 首先在Kotlin中,明确区分了集合的只读和可变. ...

  4. java对list中map集合中某个字段排序

    java对list中map集合中某个字段排序 适用于字符串排序,数字对比不可用,以下示例,当把sort的值改为74,66,142时排序不对看示例2 示例1 List<Map<String, ...

  5. kotlin中的Map集合类

    Kotlin中的Map分为: 只读Map. 可变的MutableMap(MutableMap.HashMap.LinkedHashMap). Map源码: private object EmptyMa ...

  6. java map 自动排序_Java中Map的排序

    Map的种类 在Java中,Map的主要作用是存储键值对.由于是根据键得到值,所以不允许键重复.它主要有如下几个类别: HashMap: 最常用的Map,它根据键的HashCode值存储数据,根据键可 ...

  7. java的map键值类型是否固定_Java中Map根据键值(key)或者值(value)进行排序实现

    我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Ke ...

  8. Kotlin中的List排序

    一.排序的简单用法 在Java中,对List进行排序可以使用Collections.sort()方法,在Kotlin中有非常简单的语法糖,所以这里记录一下,开发中尽量用简单的方式,方便维护. 一段未排 ...

  9. golang 中 map 排序

    golang 中没有专门的 map 排序函数,且 map 默认是无序的,也就是你写入的顺序和打印的顺序是不一样的. m := make(map[string]string, 0) m["on ...

最新文章

  1. 黑客渗透入门教程 第一课:粗暴的端口扫描
  2. 顺序表的基本操作实验报告_INDIRECT函数从入门到进阶之相同顺序跨表引用
  3. Docker Hello World容器运行报错的解决办法
  4. ES6-10 super、4种遍历方式、原型、symbol遍历
  5. 中间件和微服务,Docker以及原生云架构的关系
  6. 没有Wi-Fi?三种方法通过iPhone让Macbook连上网络
  7. Java多线程学习笔记-线程的使用
  8. C4D立体风格海报素材|电商万能套用BANNER是美工必收藏
  9. 双塔模型的瓶颈究竟在哪?
  10. 视频剪辑软件对比之:会声会影与剪映
  11. 解决Xshell6 Xftp 6 强制更新,无法更新使用问题
  12. 偶的流氓老公zt (超搞笑-转)
  13. Swiper的安装及使用
  14. Ubuntu中编译linux内核后使用make menuconfig报错的解决办法
  15. http://level3.tasteless.eu/ 获得服务器目录及其内部文件信息
  16. 系统试运行报告是谁写的_深圳个人信用报告查询系统入口https://ipcrs.pbccrc.org.cn/...
  17. 什么是数据科学?数据科学的基本内容
  18. JAVA开发装机必备软件
  19. Apache Kylin的安装和使用
  20. PCB手工布线,覆铜,logo,倒圆角,制版

热门文章

  1. linux远程维护用友nc,软件问题维护,可以联系。
  2. JAVA集合Set之HashSet详解
  3. C++:no type named ‘type‘ in ‘class std::result_of<void (*())(HWND__*)>‘
  4. 一个真实项目的性能分析策略
  5. 开学季值得买的蓝牙耳机有哪些?适合学生党买的平价蓝牙耳机
  6. 打印空心菱形c语言编程,用C语言打印空心菱形问题
  7. System32和SysWOW64
  8. 计算机毕业设计JAVA的影视资讯管理系统mybatis+源码+调试部署+系统+数据库+lw
  9. quartus频率计 时钟设置_Verilog频率计设计
  10. 高并发下数据库插入常见的问题