从Scala中的List返回元素

16 scala list

我最近一直在研究Scala的初学者项目,并且有一个关于Scala列表的初学者问题.

假设我有一个元组列表(List[Tuple2[String, String]]例如).是否有一种方便的方法可以从List返回指定元组的第一个出现,或者是否需要手动遍历列表?

Bin*_*mas 13

scala> val list = List(("A", "B", 1), ("C", "D", 1), ("E", "F", 1), ("C", "D", 2), ("G", "H", 1))
list: List[(java.lang.String, java.lang.String, Int)] = List((A,B,1), (C,D,1), (E,F,1), (C,D,2), (G,H,1))

scala> list find {e => e._1 == "C" && e._2 == "D"}
res0: Option[(java.lang.String, java.lang.String, Int)] = Some((C,D,1))

  • 是否有可能不返回某些((C,D,1))但是(C,D,1)?如果我使用list(1),我的意思是一样的. (2认同)
  • @grass如果在列表中找不到三元组`(C,D,1)`,返回值应该是多少? (2认同)
  • '无'和'有些'总是在一起.他们制作了"选项[T]".如果你的函数只是简单地返回'T',你必须通过异常发出不可能的情况.我很快就会添加一个答案,我想提供你想要的东西(使用'find'). (2认同)

Tim*_*van 6

你可以尝试使用find.(更新了scala-doc的find位置)