Подтвердить что ты не робот

Поиск индекса элемента в списке scala

Как найти индекс элемента в списке Scala.

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

Мне нужно получить 3, если я попрошу индекс "маленького"

4b9b3361

Ответ 1

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

В следующий раз вы можете попробовать прочитать scaladoc для списка.;)

Ответ 2

Если вам нужен список всех индексов, содержащих "a", то:

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

Ответ 3

Если вы хотите найти предикат, используйте .indexWhere(f):

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

Это возвращает 1, так как "had" - это первое слово с не более чем тремя буквами.