有时候为了让Map有序,在scala中会选择使用ListMap,但是
ListMap的创建效率极低,用时:

Map则很高效,但无序,用时:

其实,要想使用有序的二元结构,其实可以用map.toSeq,这样的得到的seq是可以根据元素排序的如:
map.toSeq.sortBy(_._2.toDouble)(Ordering[Double].reverse)
本文探讨了Scala中Map的有序性问题,介绍了ListMap虽然保持了插入顺序但创建效率低的问题,并提出了一种通过将Map转换为Seq再进行排序的方法来实现有序Map,同时保持较高的效率。
有时候为了让Map有序,在scala中会选择使用ListMap,但是
ListMap的创建效率极低,用时:

Map则很高效,但无序,用时:

其实,要想使用有序的二元结构,其实可以用map.toSeq,这样的得到的seq是可以根据元素排序的如:
map.toSeq.sortBy(_._2.toDouble)(Ordering[Double].reverse)
1678
1871
743

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