Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Scala中将集合添加到集合列表中_Scala_List_Set - Fatal编程技术网

如何在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是列表的大小)-
列表
是通过预先添加对象来构建的,而不是附加到对象上。。。如果顺序对您很重要,一种常见的方法是向后构建列表,然后将其反转。