object GroupElementsSeq {
def main(args: Array[String]): Unit = {
val seq = Seq(1, 6, 17, 37, 38, 44)
val grouped = seq.groupBy(_ % 2)
println(grouped)
println()
grouped.foreach { case (key, values) =>
println(s"$key -> ${values.mkString(", ")}")
}
println()
grouped.values.foreach { group =>
println(group.mkString(", "))
}
println()
grouped.values.zipWithIndex.foreach { case (group, i) =>
println(s"Group ${i + 1}: ${group.mkString(", ")}")
}
println()
grouped.foreach { case (key, values) =>
println(s"$key ->")
values.foreach { value =>
println(s" $value")
}
}
}
}
/*
run:
HashMap(0 -> List(6, 38, 44), 1 -> List(1, 17, 37))
0 -> 6, 38, 44
1 -> 1, 17, 37
6, 38, 44
1, 17, 37
Group 1: 6, 38, 44
Group 2: 1, 17, 37
0 ->
6
38
44
1 ->
1
17
37
*/