A sparse array. It's implemented with four levels of 256 byte nodes. As a result it has constant access time, but works best if the values are in one or more clumps of values.
Originally implemented to map window handles to instances of interfaces.