18.1. Polimorfizm kolekcji

Język Scala udostępnia bibliotekę kolekcji, czyli typów służących do przechowywania i przetwarzania zestawów obiektów. Większość elementów tej biblioteki znajduje się w pakiecie scala.collection i jego podpakietach.

Kolekcje w Scali są polimorficzne, a więc posiadają parametr lub parametry typu. Przykładem kolekcji posiadającej jeden parametr typu jest lista. Parameter określa typ elementów, które mogą być w liście przechowywane i może być on określony jawnie przy tworzeniu listy lub może zostać wywnioskowany przez kompilator.

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

scala> val list2 = List[Int](4,5,6)
list2: List[Int] = List(4, 5, 6)

scala> val list3: List[Int] = List()
list3: List[Int] = List()

Przykładem kolekcji posiadającej więcej niż jeden parametr typu jest mapa. Mapy przechowują pary wartości.

scala> val map1 = Map(('a,1.0),('b,2.0))
map1: scala.collection.immutable.Map[Symbol,Double] = Map('a -> 1.0, 'b -> 2.0)

scala> val map2 = Map[Symbol,Double](('a,1.0),('b,2.0))
map2: scala.collection.immutable.Map[Symbol,Double] = Map('a -> 1.0, 'b -> 2.0)

scala> val map3: Map[Symbol,Double] = Map()
map3: Map[Symbol,Double] = Map()

Język programowania Scala Wydanie 2. Copyright © Grzegorz Balcerek 2016

Licencja Creative Commons

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowe.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.