Scala:从Array [Group]创建Map [String,Seq [Group]]

时间:2013-10-20 20:20:06

标签: scala hashmap

我有一个名为Group

的类
class Group(id: Int, name: String, category: String) {

}

我正在尝试将Array[Group]转换为Map[String, Seq[Group]]作为关键字category: String。我想创建一个空的Seq[Group]并在密钥不存在时添加组,否则更新Seq[Group]。如果密钥已经存在,我不知道如何更新Seq。

1 个答案:

答案 0 :(得分:5)

groupBy 将全部完成。

arrayOfGroups.groupBy(_.category)

结果将是Map[String, Array[Group]](因为原始容器是一个数组)。数组不完全是Seq,所以如果你想要一个,你可以做

arraysOfGroup.groupBy(_.category).mapValues(_.toSeq)

您可以通过更精确的转换替换toSeq。 也可以arrayOfGroup.toSeq.groupBy(_.category)