1
컬렉션의 요소 색인을 찾는 우아한 방법은 무엇입니까? 지금은 다음과 같은 메소드를 구현했습니다 :Iterable에 대한 요소 색인 얻기
def getIndexForValue[T] (value: T, collection: Iterable[T]): Option[Int] = {
val pair = collection.zipWithIndex.find(_._1 == value)
if (pair.isDefined) Some(pair.get._2) else None
}
더 세련된 방식으로 다시 작성할 수 있습니까? 감사합니다
'Iterable'형질에는이 방법이 없습니다. – MyTitle
컬렉션이 집합 인 경우 색인의 의미는 무엇입니까? Seq 만 정의 된 요소 순서를가집니다. – Eastsun
@Eastsun, 그건 사실이 아닙니다. TreeSet에는 정의 된 반복 순서가 있으며 Set이지만 Seq는 아닙니다. Iterable에 대한 몇 가지 메소드가 주문한 콜렉션에만 적용됩니다. Paul Phillips와 Martin Odersky는 디자인에 결함이 있다는 데 의견을 같이했습니다. https://groups.google.com/d/msg/scala-debate/je4vZbR3WbA/_fa5aNyTyuoJ –