Skip to content

Scala.collection

스칼라 컬렉션

기초

항상 사용하게 될 컬렉션들

리스트

표준적인 연결 리스트이다.

scala> List(1, 2, 3)
res0: List[Int] = List(1, 2, 3)

다른 함수언어와 마찬가지로 cons로 구성이 가능하다.

scala> 1 :: 2 :: 3 :: Nil
res1: List[Int] = List(1, 2, 3)

집합

중복을 허용하지 않는다.

scala> Set(1, 1, 2)
res2: scala.collection.immutable.Set[Int] = Set(1, 2)

순서열 (Seq)

순서열은 순서가 있다.

scala> Seq(1, 1, 2)
res3: Seq[Int] = List(1, 1, 2)

반환된 것이 리스트임에 유의하라. Seq는 트레잇이다. 리스트는 Seq를 잘 구현하고 있다. 여기서 볼 수 있듯 Seq라 불리는 팩토리 객체가 있어서 리스트를 만들어준다.

맵 (Map)

맵은 키-값 쌍을 저장한다.

scala> Map('a' -> 1, 'b' -> 2)
res4: scala.collection.immutable.Map[Char,Int] = Map((a,1), (b,2))

계층 구조

다음은 모든 트레잇이다. mutable과 immutable 패키지에는 이 트레잇에 대한 각각의 구현이 들어있다.

방문가능 (Traversable)

모든 컬렉션은 방문 가능해야 한다. 이 트레잇는 표준적인 함수 콤비네이터를 정의한다. 이런 콤비네이터는 @foreach@를 기초로 구현되어 있다. @foreach@는 모든 컬렉션이 구현해야만 하는 메소드이다.

반복가능 (Iterable)

원소에 대해 루프를 돌 수 있는 반복자를 반환하는 iterator() 메소드를 반환한다.

순서열 (Seq)

순서가 있는 아이템 열이다.

집합 (Set)

원소의 중복이 없는 컬렉션이다.

맵 (Map)

키-값 쌍을 보관하는 컬렉션이다.

See also

Favorite site