Более чистый кортеж groupBy

У меня есть последовательность пар ключ-значение (String, Int), и я хочу сгруппировать их по ключу в последовательность значений (т.е. Seq[(String, Int)]) => Map[String, Iterable[Int]])).

Очевидно, toMapздесь бесполезна, а groupByподдерживает значения как кортежи. Лучшее, что мне удалось придумать, это:

val seq: Seq[( String, Int )]
// ...
seq.groupBy( _._1 ).mapValues( _.map( _._2 ) )

Есть ли более чистый способ сделать это?

31
задан Jean-Philippe Pellet 28 May 2012 в 12:19
поделиться