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