How to group elements of a sequence in Scala

1 Answer

0 votes
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

*/

 



answered Nov 15, 2025 by avibootz
...