Der Vector
ist im Scala-Package
scala.collection.immutable
(API ) definiert und ist
eine allgemeine, unveränderliche Datenstruktur zur Aufnahme von Daten ähnlich einer
List
. Ein Vector
zeichnet sich durch einen annähend konstanten Zeitbedarf für Elementzugriff, Elementmodifikation und
Operationen zum Anhängen und Voranstellen von Elementen.
Eine List
hat Ihre Stärken bei Operationen die am Anfang (Head) der
List
ausgeführt werden.
Eingeführt wurde der Vector
mit Scala 2.8.
Einen Vector
können wir durch Abgabe des Klassennamens gefolgt von den
hinzuzufügenden Elementen in Klammern erzeugen. Die Schreibweise Klassenname gefolgt
von einer Klammer führt zum Aufruf der zugehörigen apply
Methode,
welche die Erzeugung des Vector
vornimmt.
Im nachfolgenden Beispiel erzeugen wir einen Vector
mit Int
Elementen.
Nach der Erzeugung geben wir alle enthaltenen Elemente auf der Systemausgabe aus.
val myVector = Vector(3,7,4,2) myVector: scala.collection.immutable.Vector[Int] = Vector(3, 7, 4, 2) scala> myVector.foreach(println) 3 7 4 2
Nachdem wir nun wissen, wie wir einen Vector
erzeugen können,
interessiert uns, wie wir wieder an die Elemente kommen. Auslesen können wir
ein Element eines Vector
mithilfe der apply
-Methode.
Wie bei apply
üblich können wir den syntaktischen Zucker
anwenden und den Punkt mit Methodennamen weglassen und den 0-basierten Index direkt in
Klammern angeben, was zum Aufruf der apply
-Methode führt.
Im nachfolgenden Beispiel erzeugen wir zunächst einen Vector
mit 5 Int
Elementen. Im Anschluss geben wir das vierte (Index: 3)
und das fünfte (Index; 4) Element auf der Systemausgabe aus. Hierzu verwenden
wir einmal die apply
-Methode explizit und einmal in Form der direkten
Angabe des Indizes.
object Test2 { def main(args: Array[String]): Unit = { val myVector = Vector(1,2,5,3,6) println(myVector.apply(3)) println(myVector(4)) } }
Scala - Documentation: Vector
http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.Vector