Ответ 1
scala> List("Mary", "had", "a", "little", "lamb").indexOf("little")
res0: Int = 3
В следующий раз вы можете попробовать прочитать scaladoc для списка.;)
Как найти индекс элемента в списке Scala.
val ls = List("Mary", "had", "a", "little", "lamb")
Мне нужно получить 3, если я попрошу индекс "маленького"
scala> List("Mary", "had", "a", "little", "lamb").indexOf("little")
res0: Int = 3
В следующий раз вы можете попробовать прочитать scaladoc для списка.;)
Если вам нужен список всех индексов, содержащих "a", то:
val ls = List("Mary", "had", "a", "little", "lamb","a")
scala> ls.zipWithIndex.filter(_._1 == "a").map(_._2)
res13: List[Int] = List(2, 5)
Если вы хотите найти предикат, используйте .indexWhere(f)
:
val ls = List("Mary", "had", "a", "little", "lamb","a")
ls.indexWhere(_.size <= 3)
Это возвращает 1, так как "had" - это первое слово с не более чем тремя буквами.