This is the documentation for the Scala standard library.
The scala package contains core types like
Option which 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
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.Predef object are always in scope by default.
Some of these identifiers are type aliases provided as shortcuts to commonly used classes. For example,
List is an alias for
Other aliases refer to classes provided by the underlying platform. For example, on the JVM,
String is an alias for
Core Scala types.
Core Scala types. They are always available without an explicit import.