在列表scala中查找元素的索引



如何在Scala列表中找到元素的索引。

val ls = List("Mary", "had", "a", "little", "lamb")

如果我要求"小"的索引,我需要得到3

scala> List("Mary", "had", "a", "little", "lamb").indexOf("little")
res0: Int = 3

下次您可以尝试阅读List的scaladoc。)

如果要按谓词搜索,请使用.indexWhere(f):

val ls = List("Mary", "had", "a", "little", "lamb","a")
ls.indexWhere(_.startsWith("l"))

这返回3;"小";是第一个以字母l开头的单词。

如果您想要包含"a"的所有索引的列表,那么:

val ls = List("Mary", "had", "a", "little", "lamb","a")
scala> ls.zipWithIndex.filter(_._1 == "a").map(_._2)
res13: List[Int] = List(2, 5)

最新更新