UsefulLinks
Computer Science
Programming
By Language
Scala Programming
1. Introduction to Scala
2. Scala Language Fundamentals
3. Object-Oriented Programming in Scala
4. Functional Programming in Scala
5. The Scala Collections Library
6. Advanced Language Features
7. Concurrency and Parallelism
8. Tooling and Ecosystem
9. Advanced Topics
10. Practical Applications
11. Best Practices and Idioms
5.
The Scala Collections Library
5.1.
Overview of the Collections Hierarchy
5.1.1.
Traversable
5.1.2.
Iterable
5.1.3.
Collection Traits and Abstract Classes
5.2.
Immutable vs Mutable Collections
5.2.1.
scala.collection.immutable Package
5.2.2.
scala.collection.mutable Package
5.2.3.
Choosing Between Immutable and Mutable
5.3.
Key Collection Types
5.3.1.
Sequences
5.3.1.1.
List
5.3.1.2.
Vector
5.3.1.3.
Array
5.3.1.4.
ArrayBuffer
5.3.1.5.
Range
5.3.2.
Sets
5.3.2.1.
Set
5.3.2.2.
HashSet
5.3.2.3.
TreeSet
5.3.2.4.
Mutable and Immutable Sets
5.3.3.
Maps
5.3.3.1.
Map
5.3.3.2.
HashMap
5.3.3.3.
TreeMap
5.3.3.4.
Mutable and Immutable Maps
5.3.4.
Queues
5.3.4.1.
Queue
5.3.4.2.
Mutable and Immutable Queues
5.3.5.
Stacks
5.3.5.1.
Stack
5.3.5.2.
Mutable and Immutable Stacks
5.3.6.
Lazy Collections
5.3.6.1.
LazyList
5.4.
Common Collection Operations
5.4.1.
Transformation Operations
5.4.1.1.
map
5.4.1.2.
flatMap
5.4.1.3.
filter
5.4.1.4.
collect
5.4.1.5.
partition
5.4.2.
Iteration Operations
5.4.2.1.
foreach
5.4.2.2.
iterator
5.4.3.
Aggregation Operations
5.4.3.1.
foldLeft
5.4.3.2.
foldRight
5.4.3.3.
reduce
5.4.3.4.
scan
5.4.3.5.
aggregate
5.4.4.
Grouping and Sorting
5.4.4.1.
groupBy
5.4.4.2.
sortBy
5.4.4.3.
sortWith
5.4.4.4.
sorted
5.4.5.
Zipping and Unzipping
5.4.5.1.
zip
5.4.5.2.
zipWithIndex
5.4.5.3.
unzip
5.4.6.
Accessing Elements
5.4.6.1.
head
5.4.6.2.
tail
5.4.6.3.
last
5.4.6.4.
init
5.4.6.5.
apply
5.4.6.6.
headOption
5.4.6.7.
lastOption
5.4.7.
Searching and Testing
5.4.7.1.
find
5.4.7.2.
exists
5.4.7.3.
forall
5.4.7.4.
contains
5.4.7.5.
count
5.4.8.
Combining Collections
5.4.8.1.
concat
5.4.8.2.
union
5.4.8.3.
intersect
5.4.8.4.
diff
5.5.
Working with Views
5.5.1.
Creating Views
5.5.2.
Lazy Evaluation with Views
5.5.3.
Performance Considerations
5.6.
Collection Performance Characteristics
5.6.1.
Time Complexity of Operations
5.6.2.
Memory Usage Considerations
5.6.3.
Choosing the Right Collection Type
Previous
4. Functional Programming in Scala
Go to top
Next
6. Advanced Language Features