在写实验程序时,需要将HashMap按照Value值进行排序。
首先我们需要了解一下HashMap的数据存储方式。按我个人的理解,可以将HashMap就看做一个根据Key值的hashCode进行散列的散列表(哈希),而每个hashCode对应一个K-V对,这个K-V对和我们在C语言中的struct结构体类似,在JAVA中可以看做一个对象中存储了两个值,这个对象就叫做Entry。
HashMap的内部方法entrySet()可以将其存储的Entry转化为集合Set形式存储,获得了这个Set之后,就可以将其加入到列表当中了
例如,我们现在有一个叫做AllTime的HashMap
其中K值类型为PlanningEntry,V值类型为Date
现在需要将PlanningEntry按照其对应的V值Date进行排序
首先创建一个存储类型为Map.Entry<PlanningEntry, Date>的List
然后将entrySet()获得的集合加入到这个list中
List<Map.Entry<PlanningEntry

本文介绍了如何在Java中将HashMap的元素按照Value值进行排序。通过理解HashMap的内部结构,利用entrySet()方法获取Entry集合,然后转换为列表并使用自定义Comparator进行排序,最终得到按Value排序的列表。
最低0.47元/天 解锁文章
8460

被折叠的 条评论
为什么被折叠?



