Class ConciseSet

java.lang.Object
org.apache.druid.extendedset.intset.AbstractIntSet
org.apache.druid.extendedset.intset.ConciseSet
All Implemented Interfaces:
Serializable, Cloneable, Comparable<IntSet>, IntSet

public class ConciseSet extends AbstractIntSet implements Serializable
This is CONCISE: COmpressed 'N' Composable Integer SEt.

This class is an instance of IntSet internally represented by compressed bitmaps though a RLE (Run-Length Encoding) compression algorithm. See http://ricerca.mat.uniroma3.it/users/dipietro/publications/0020-0190.pdf for more details.

Notice that the iterator by iterator() is fail-fast, similar to most Collection-derived classes. If the set is structurally modified at any time after the iterator is created, the iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future. The iterator throws a ConcurrentModificationException on a best-effort basis. Therefore, it would be wrong to write a program that depended on this exception for its correctness: the fail-fast behavior of iterators should be used only to detect bugs.

Version:
$Id$
See Also: