scala / scala-collection-contrib Edit

community-contributed additions to the Scala 2.13 collections

Version Matrix


This module provides various additions to the Scala 2.13 standard collections.


If you're using sbt, you can add the dependency as follows:

libraryDependencies += "org.scala-lang.modules" %% "scala-collection-contrib" % "0.2.2"

Here is the full Scaladoc.

New collection types

These collections are in the scala.collection package.

New operations

The new operations are provided via an implicit enrichment. You need to add the following import to make them available:

import scala.collection.decorators._

The following operations are provided:

  • BitSet: <<, >>, ...
  • mutable.BitSet: <<=, >>=, ...
  • Iterable: foldSomeLeft, lazyFoldLeft, lazyFoldRight, splitBy, ...
  • Iterator: intersperse, foldSomeLeft, lazyFoldLeft, lazyFoldRight, splitBy, ...
  • Map: fullOuterJoin, leftOuterJoin, mergeByKey, mergeByKeyWith, rightOuterJoin, zipByKey, zipByKeyWith, ...
  • Seq: intersperse, replaced, splitBy, ...

Maintenance status

This module is community-maintained. If you are interested in participating, please jump right in on issues and pull requests.

See also: scala-library-next

scala-collection-contrib's merge policy is liberal: we're happy to merge most things here, without too much review, so that people can try them out.

There is now (as of October 2020) the scala-library-next repo, which is where we decide what will actually be added to the next version of the Scala standard library. The standards for merging things there are much more conservative.


As with other Scala standard modules, build and release infrastructure is provided by the sbt-scala-module sbt plugin.