스칼라 목록의 다른 맛에서 "포함"방법에 대한 성능 특성에 대한 정보를 아는 사람이 있습니까? 스칼라 언어 문서는 head, tail, append 등과 같은 기본 작업을 다루지 만 'contains'의 성능을 다루지는 않습니다. (아니면 적어도 나는 그런 것을 찾지 못했습니다.) FWIW, 필자는 요소가 목록에 존재하는지 여부를 효과적으로 알려주는 가장 빠른 구조가 필요합니다. 처음에 컴파일 된 목록은 추가/a/m/d 작업을 수행하지 않습니다.스칼라 목록 성능
이 편집 2.10.0
스칼라 버전이다 : 그것은 어떤 차이를해야하는 경우에, 이것은, 워드 프로세서했던 명확히하기 텍스트 세그먼트 (. ~ 16 48 자 각) 그리고,의 목록입니다 룩업 성능을 나타내는 하나의 작은 테이블을 포함하지만 목록/맵 구현의 작은 세트에 대해서만 포함됩니다.
입니다. 빨리 포함하려면 [Set] (http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.Set) – Cubic
을 사용하십시오.이 표는지도 전체에 표시됩니다. 룩 업에옵니다. 허락하신다면, 이들 중 대부분은 해쉬 (이전 편집 당)이지만, 거기에 충분한 차이가 있는지 확인하고 싶습니다. http://www.scala-lang.org/docu/files/collections-api/collections_40.html – mjk
대부분의 경우 스칼라에는 단 하나의 "flavor"만 존재합니다. List는 고전적이고 기능적인 (Lisp 계열) cons-cell 기반 목록입니다. 스칼라의'List'는 구체적인 타입이고 Java의'List'는 추상 클래스입니다. 'List' Scala가 호출하는 것은 Scala가 항목의 특정 순서를 유지하거나 항목이 추가 된 순서의 반대 순서와 동일하게 유지하는 모든 콜렉션의 추상적 유형 인 'Seq'를 호출하는 것입니다. 다른 사람들이 지적했듯이, 당신이 원하는 것은'Set'입니다. 정확한 목적은 특정 가치의 존재 또는 부재에 대한 빠른 테스트를 지원하는 것입니다. –