Package it.unimi.dsi.big.util
Class SemiExternalGammaBigList
java.lang.Object
java.util.AbstractCollection<Long>
it.unimi.dsi.fastutil.longs.AbstractLongCollection
it.unimi.dsi.fastutil.longs.AbstractLongBigList
it.unimi.dsi.big.util.SemiExternalGammaBigList
- All Implemented Interfaces:
BigList<Long>
,LongBigList
,LongCollection
,LongIterable
,LongStack
,Size64
,Stack<Long>
,Comparable<BigList<? extends Long>>
,Iterable<Long>
,Collection<Long>
Provides semi-external random access to a big list
of γ-encoded integers.
This class is a semi-external LongBigList
that
MG4J uses to access files containing frequencies.
Instead, this class accesses frequencies in their compressed forms, and provides entry points for random access to each long. At construction time, entry points are computed with a certain step, which is the number of longs accessible from each entry point, or, equivalently, the maximum number of longs that will be necessary to read to access a given long.
Warning: This class is not thread safe, and needs to be synchronised to be used in a multithreaded environment.
- Since:
- 2.0
- Author:
- Fabien Campagne, Sebastiano Vigna
-
Nested Class Summary
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.longs.AbstractLongBigList
AbstractLongBigList.LongRandomAccessSubList, AbstractLongBigList.LongSubList
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCreates a new semi-external list.SemiExternalGammaBigList
(InputBitStream longs, int step, long numLongs) Creates a new semi-external list. -
Method Summary
Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongBigList
add, add, add, addAll, addAll, addAll, addAll, addElements, addElements, clear, compareTo, contains, ensureIndex, ensureRestrictedIndex, equals, forEach, get, getElements, hashCode, indexOf, indexOf, iterator, lastIndexOf, lastIndexOf, listIterator, listIterator, peek, peekLong, pop, popLong, push, push, rem, remove, removeElements, removeLong, set, set, setElements, size, size, subList, top, topLong, toString
Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongCollection
add, contains, containsAll, containsAll, forEach, remove, removeAll, removeAll, removeIf, retainAll, retainAll, toArray, toLongArray, toLongArray
Methods inherited from class java.util.AbstractCollection
isEmpty, toArray, toArray
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toArray
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongBigList
addAll, addAll, addAll, addAll, getElements, setElements, setElements, spliterator
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongCollection
add, contains, containsAll, longIterator, longParallelStream, longSpliterator, longStream, parallelStream, remove, removeAll, removeIf, removeIf, removeIf, retainAll, stream, toArray, toLongArray, toLongArray
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongIterable
forEach, forEach
-
Field Details
-
DEFAULT_STEP
public static final int DEFAULT_STEP- See Also:
-
-
Constructor Details
-
SemiExternalGammaBigList
Creates a new semi-external list.- Parameters:
longs
- a bit stream containing γ-encoded longs.step
- the step used to build random-access entry points, or -1 to getDEFAULT_STEP
; note that a step causing more than 231 slots will be silently increased.numLongs
- the overall number of offsets (i.e., the number of terms).- Throws:
IOException
-
SemiExternalGammaBigList
Creates a new semi-external list.This quick-and-dirty constructor estimates the number of longs by checking for an
EOFException
.- Parameters:
longs
- a bit stream containing γ-encoded longs.- Throws:
IOException
-
-
Method Details
-
getLong
public final long getLong(long index) -
size64
public long size64()
-