在写实验程序时,需要将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