使用Scala将列表中相同的元素组合在一起可以通过以下步骤实现:
import scala.collection.mutable.ListBuffer
groupSameElements
。ListBuffer
,用于存储结果。groupBy
函数将列表按照元素进行分组。groupBy
函数会返回一个Map
,其中键是元素值,值是具有相同元素值的元素列表。Map
的值,将每个值转换为列表,并添加到结果ListBuffer
中。ListBuffer
转换为普通的列表,并返回。以下是完整的代码示例:
import scala.collection.mutable.ListBuffer
def groupSameElements(list: List[Any]): List[List[Any]] = {
val result = ListBuffer[List[Any]]()
val groupedMap = list.groupBy(identity)
for ((_, value) <- groupedMap) {
result += value.toList
}
result.toList
}
// 示例用法
val myList = List(1, 2, 2, 3, 3, 3, 4, 5, 5)
val grouped = groupSameElements(myList)
println(grouped)
输出结果为:List(List(1), List(2, 2), List(3, 3, 3), List(4), List(5, 5))
在这个示例中,我们使用groupBy
函数将列表中相同的元素进行分组,然后将分组后的结果存储在ListBuffer
中,并最终将其转换为普通的列表返回。
领取专属 10元无门槛券
手把手带您无忧上云