从Set中获取元素

时间:2014-07-04 09:49:23

标签: scala

如何在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

中位置的元素

1 个答案:

答案 0 :(得分:17)

Set不是有序集合 - 您无法逐个索引。

您可以使用head方法从Set获取单个元素(它不是第一个元素,只是一些元素)。

您还可以使用foreach方法处理所有元素:

for (s <- Set("a", "b")) println(s)

如果您想按某种顺序获取所有元素,则应使用Set方法将Seq转换为toSeq,如下所示:

val mySeq = mySet.toSeq