CompactList implements the
List<Long> interface, but internally it uses a tree of variable word-width segments to improve performance and memory usage compared to an
Performance tends to be worse for appends than an
ArrayList but better for inserts. Memory usage is significantly reduced, even for incompressible random data where it approaches the memory use of an array of primitive longs (which happens to be the internal representation in this case).