Chapter 12. Collections: Common Sequence Classes
In this chapter on the Scala collections, we’ll examine the most common sequence classes. As mentioned in Recipe 11.1, “Choosing a Collections Class”, the general sequence class recommendations are to use:
-
Vectoras your go-to immutable indexed sequence -
Listas your go-to immutable linear sequence -
ArrayBufferas your go-to mutable indexed sequence -
ListBufferas your go-to mutable linear sequence
Vector
As discussed in Recipe 11.1, “Choosing a Collections Class”, Vector is the preferred immutable indexed sequence class because of its general performance characteristics. You’ll use it all the time when you need an immutable sequence.
Because Vector is immutable, you apply filtering and transformation methods on one Vector to create another one. As a quick preview, these examples show how to create and use a Vector:
vala=Vector(1,2,3,4,5)valb=a.filter(_>2)// Vector(3, 4, 5)valc=a.map(_*10)// Vector(10, 20, 30, 40, 50)
List
If you’re coming to Scala from Java, you’ll quickly see that despite their names, the Scala List class is nothing like the Java List classes, such as the Java ArrayList. The Scala List class is immutable, so its size as well as the elements it contains can’t change. It’s implemented as a linked list, where the preferred approach is to prepend elements. Because it’s a linked list, you typically traverse the list from head to tail, and indeed, it’s often thought of in terms of its ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access