如何在Set中获取元素?
对于List,可以这样做:
val s : Set[(String, String)] = Set( ("a","b") )
val l1 = l(0)
但是对于Set:
val s : Set[(String, String)] = Set( ("a","b") )
val t1 = s(1)
我得到编译时错误:
Multiple markers at this line - type mismatch; found : Int(1) required: (String, String) - type mismatch; found :
Int(1) required: (String, String)
更新:
转换为List是一个选项,但我应该能够访问Set
中位置的元素答案 0 :(得分:17)
Set
不是有序集合 - 您无法逐个索引。
您可以使用head
方法从Set
获取单个元素(它不是第一个元素,只是一些元素)。
您还可以使用foreach
方法处理所有元素:
for (s <- Set("a", "b")) println(s)
如果您想按某种顺序获取所有元素,则应使用Set
方法将Seq
转换为toSeq
,如下所示:
val mySeq = mySet.toSeq