如何在Scala中将集合添加到集合列表中
我有一个集合列表,并想添加一个集合。我的假设是,我必须使用如何在Scala中将集合添加到集合列表中,scala,list,set,Scala,List,Set,我有一个集合列表,并想添加一个集合。我的假设是,我必须使用:添加到列表中 我的代码: // attribute_sets is a tuple (String, Set[String]) val listsOfSets: List[Set[String]] = attribute_sets .foldLeft(List[Set[String]])((acc, attribute_set) => { acc :: (attribute_set._2 + att
:
添加到列表中
我的代码:
// attribute_sets is a tuple (String, Set[String])
val listsOfSets: List[Set[String]] = attribute_sets
.foldLeft(List[Set[String]])((acc, attribute_set) => {
acc :: (attribute_set._2 + attribute_set._1)
})
IntelliJ告诉我类型不匹配(
预期字符串,实际设置[String]
),当我尝试添加到acc
时,您可以使用:
仅在列表开头添加元素:
x :: list
要在列表末尾添加内容,必须使用:+
运算符:
list :+ x
只能使用
:
在列表开头添加元素:
x :: list
要在列表末尾添加内容,必须使用:+
运算符:
list :+ x
attribute\u set.\u 2+attribute\u set.\u 1
的类型是String
,因为所使用的+
操作是String
中的一种
因此,:
操作无法解析,因为它用于连接集合,而不是向集合添加字符串
因此,您必须根据预期的实际结果更改
+
或:
运算符。属性集的类型。\u 2+属性集。\u 1是字符串
,因为使用的+
操作是字符串
中的一个
因此,:
操作无法解析,因为它用于连接集合,而不是向集合添加字符串
因此,您必须根据预期的实际结果更改
+
或:
运算符。非常感谢。就是这样。@User12547645但是请注意,:+
具有O(N)复杂性(其中N是列表的大小)-列表
是通过预先添加对象来构建的,而不是附加到对象上。。。如果顺序对你很重要,一种常见的方法是向后构建列表,然后将其反转。非常感谢。就是这样。@User12547645但是请注意,:+
具有O(N)复杂性(其中N是列表的大小)-列表
是通过预先添加对象来构建的,而不是附加到对象上。。。如果顺序对您很重要,一种常见的方法是向后构建列表,然后将其反转。