Scala:以不可变的方式列出唯一项目列表的向量列表

Man*_*nvi 0 functional-programming scala list immutability

我正在接收来自某些功能的矢量列表

(List(Vector(1), Vector(1, 2), Vector(1, 3), Vector(1, 2, 4), Vector(1, 5)))
Run Code Online (Sandbox Code Playgroud)

我想将它转换为不同的整数值

List(1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

在Scala中使用完全不变性.

请建议实现它的有效方法.

mar*_*ran 5

您可以使用flattendistinct方法List.

val list = List(Vector(1), 
                Vector(1, 2), 
                Vector(1, 3), 
                Vector(1, 2, 4), 
                Vector(1, 5))

val flattened = list.flatten // Gives List(1, 1, 2, 1, 3, 1, 2, 4, 1, 5)

val distinct = flattened.distinct // Gives List(1, 2, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud)