web-dev-qa-db-ja.com

リスト内の要素のインデックスを見つけるscala

Scalaリストで要素のインデックスを見つけるにはどうすればよいですか。

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

「リトル」のインデックスを要求する場合、3を取得する必要があります

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

次回 Listのスカラドック を読んでみてください。 ;)

74
DaoWen

述語で検索する場合は、.indexWhere(f)を使用します。

val ls = List("Mary", "had", "a", "little", "lamb","a")
ls.indexWhere(_.size <= 3)

「had」は最大3文字の最初のWordであるため、これは1を返します。

37
Rok Kralj

「a」を含むすべてのインデックスのリストが必要な場合:

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