Scala - 将Set [(x,y])转换为Set [y]

时间:2014-12-04 07:46:07

标签: scala

目前我有这个Set系列:

Set((S00002,3), (S00001,2), (S00001,1), (S00003,4))

有没有什么好方法可以将它转换成这样的东西:

Set(3,2,1,4)

下面是我目前生成Set [(String,Long)]的代码:

data.expense_items.groupBy(i => (i.supplier_id, i.po_id)).mapValues( _.map ( j => j.price)).keys

2 个答案:

答案 0 :(得分:5)

使用map方法:

val s = Set(("S00002",3), ("S00001",2), ("S00001",1), ("S00003",4))
s.map(_._2) // Set(3, 2, 1, 4)

答案 1 :(得分:1)

其他几种方法,

mySet.collect { case (_,v) => v }

mySet.unzip._2

for ( (_,v) <- mySet ) yield v

mySet.toMap.values.toSet