Core Scala types. They are always available without an explicit import.
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
This is the documentation for the Scala standard library.
The scala package contains core types like
Optionwhich are accessible in all Scala compilation units without explicit qualification or imports.
Notable packages include:
scala.collectionand its sub-packages contain Scala's collections framework
scala.collection.immutable- Immutable, sequential data-structures such as
scala.collection.mutable- Mutable, sequential data-structures such as
scala.collection.concurrent- Mutable, concurrent data-structures such as
scala.concurrent- Primitives for concurrent programming such as
scala.io- Input and output operations
scala.math- Basic math functions and additional numeric types like
scala.sys- Interaction with other processes and the operating system
scala.util.matching- Regular expressions
Other packages exist. See the complete list on the right.
Additional parts of the standard library are shipped as separate libraries. These include:
scala.reflect- Scala's reflection API (scala-reflect.jar)
scala.xml- XML parsing, manipulation, and serialization (scala-xml.jar)
scala.collection.parallel- Parallel collections (scala-parallel-collections.jar)
scala.util.parsing- Parser combinators (scala-parser-combinators.jar)
scala.swing- A convenient wrapper around Java's GUI framework called Swing (scala-swing.jar)
Identifiers in the scala package and the
scala.Predefobject are always in scope by default.
Some of these identifiers are type aliases provided as shortcuts to commonly used classes. For example,
Listis an alias for
Other aliases refer to classes provided by the underlying platform. For example, on the JVM,
Stringis an alias for