Scalaリストで要素のインデックスを見つけるにはどうすればよいですか。
val ls = List("Mary", "had", "a", "little", "lamb")
「リトル」のインデックスを要求する場合、3を取得する必要があります
scala> List("Mary", "had", "a", "little", "lamb").indexOf("little")
res0: Int = 3
次回 Listのスカラドック を読んでみてください。 ;)
述語で検索する場合は、.indexWhere(f)
を使用します。
val ls = List("Mary", "had", "a", "little", "lamb","a")
ls.indexWhere(_.size <= 3)
「had」は最大3文字の最初のWordであるため、これは1を返します。
「a」を含むすべてのインデックスのリストが必要な場合:
val ls = List("Mary", "had", "a", "little", "lamb","a")
scala> ls.zipWithIndex.filter(_._1 == "a").map(_._2)
res13: List[Int] = List(2, 5)