在项目中有个业务场景,需要对访问我店铺轨迹按访问次数排序,访问我店铺轨迹保存在HashMap中,key为访问次数。不知道大家会怎样实现对HashMap的排序,排序之后保存为一个List。HashMap是无序的,如果需要使用有序的Map,可以使用TreeMap。
HashMap和TreeMap有如下区别:
特性 | HashMap | TreeMap |
排序 | 无序 | 有序 |
数据结构 | Hash表 | 平衡树 |
实现的接口(抽象类) | AbstractMap抽象类 | SortedMap接口 |
Key需要实现的接口 | equals()和hashCode() | equals()和compareTo() |
从性能上来说,HashMap好于TreeMap,这是数据结构就决定了。