Class MappedEliasFanoMonotoneLongBigList

All Implemented Interfaces:
BigList<Long>, LongBigList, LongCollection, LongIterable, LongStack, Size64, Stack<Long>, FlyweightPrototype<MappedEliasFanoMonotoneLongBigList>, Closeable, Serializable, AutoCloseable, Comparable<BigList<? extends Long>>, Iterable<Long>, Collection<Long>

public class MappedEliasFanoMonotoneLongBigList extends AbstractLongBigList implements Serializable, Closeable, FlyweightPrototype<MappedEliasFanoMonotoneLongBigList>
A memory-mapped implementation of EliasFanoMonotoneLongBigList/EliasFanoMonotoneBigLongBigList.

This class makes it possible to use an EliasFanoMonotoneLongBigList (or EliasFanoMonotoneBigLongBigList) without actually loading the lower bits, but rather mapping them into memory. You build an EliasFanoMonotoneLongBigList (or EliasFanoMonotoneBigLongBigList) instance first, and then you use the dump it to disk providing a basename. The same basename must be used when loading an instance of this class.

After usage, you should close() instances of this class to release the associated FileChannel.

Instances of this class are not thread safe, but the copy() method provides a lightweight duplicate that can be read independently by another thread. The method uses LongMappedBigList.copy() to provide an independent mapping of the lower bits. Note that the close() method, when invoked on any copy, will stop mapping of all copies. *

See Also: