1

我有一堂课叫 Group

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

}

我正在尝试转换Array[Group]Map[String, Seq[Group]]withcategory: String作为键。Seq[Group]如果密钥不存在,我想创建一个空并添加组,否则更新Seq[Group]. 如果密钥已经存在,我不确定如何更新 Seq。

4

1 回答 1

5

groupBy会做这一切。

arrayOfGroups.groupBy(_.category)

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

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

您可以用toSeq任何更精确的转换替换 。也可以这样做arrayOfGroup.toSeq.groupBy(_.category)

于 2013-10-20T20:24:01.230 回答