Scala map sorting

1. Scala map sorting

对这样一个map根据value的开始值排序:

"01" -> List(34,12,14,23),"11" -> List(22,11,34)
方法一 scala.collection.immutable.TreeMap

此方法经常用来sorted by key

val t = TreeMap("01"->List(34,12,14,23),"11"->List(22,11,34)) //会自动按key排列
//如:
var tm = TreeMap(3 -> 'x', 1 -> 'x', 4 -> 'x')
println(tm)
//output:
Map(1 -> x, 3 -> x, 4 -> x)

如果已经有一个map的话:

val m = Map("01"-> List(34,12,14,23),"11"->List(22,11,34))
val t = TreeMap(m.toSeq:_*)
方法二 转换为Seq or List then sort it
// by specifying an element for sorting
m.toSeq.sortBy(_._1)  //sort by keys 
m.toSeq.sortBy(_._2)  //sort by values
// by providing a sort function
m.toSeq.sortWith(_._1 < _._1) // sort by comparing keys

TreeMap是sortedMap的红黑树实现(应该差不多吧)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值