Immutable BitSets | Contents |

A BitSet represents a collection of small integers as the bits of a larger integer. For example, the bit set containing 3, 2, and 0 would be represented as the integer 1101 in binary, which is 13 in decimal.

Internally, bit sets use an array of 64-bit `Long`s. The first
`Long` in the array is for integers 0 through 63, the second is for
64 through 127, and so on. Thus, bit sets are very compact so long as
the largest integer in the set is less than a few hundred or so.

Operations on bit sets are very fast. Testing for inclusion takes
constant time. Adding an item to the set takes time proportional to
the number of `Long`s in the bit set's array, which is typically a
small number. Here are some simple examples of the use of a bit set:

scala> val bits = scala.collection.immutable.BitSet.empty | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

bits: scala.collection.immutable.BitSet = BitSet() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

scala> val moreBits = bits + 3 + 4 + 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

moreBits: scala.collection.immutable.BitSet = BitSet(3, 4) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

scala> moreBits(3) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

res26: Boolean = true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

scala> moreBits(0) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

res27: Boolean = false |

Next: List Maps

Immutable BitSets | Contents |