Package org.apache.lucene.util
Class FrequencyTrackingRingBuffer.IntBag
- java.lang.Object
-
- org.apache.lucene.util.FrequencyTrackingRingBuffer.IntBag
-
- All Implemented Interfaces:
Accountable
- Enclosing class:
- FrequencyTrackingRingBuffer
private static class FrequencyTrackingRingBuffer.IntBag extends java.lang.Object implements Accountable
A bag of integers. Since in the context of the ring buffer the maximum size is known up-front there is no need to worry about resizing the underlying storage.
-
-
Field Summary
Fields Modifier and Type Field Description private static longBASE_RAM_BYTES_USEDprivate int[]freqsprivate int[]keysprivate intmask-
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
-
Constructor Summary
Constructors Constructor Description IntBag(int maxSize)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) intadd(int key)Increment the frequency of the given key by 1 and return its new frequency.(package private) java.util.Map<java.lang.Integer,java.lang.Integer>asMap()private static booleanbetween(int chainStart, int chainEnd, int slot)Given a chain of occupied slots betweenchainStartandchainEnd, return whetherslotis between the start and end of the chain.(package private) intfrequency(int key)Return the frequency of the give key in the bag.longramBytesUsed()Return the memory usage of this object in bytes.private voidrelocateAdjacentKeys(int freeSlot)(package private) booleanremove(int key)Decrement the frequency of the given key by one, or do nothing if the key is not present in the bag.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
-
-
-
Method Detail
-
ramBytesUsed
public long ramBytesUsed()
Description copied from interface:AccountableReturn the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsedin interfaceAccountable
-
frequency
int frequency(int key)
Return the frequency of the give key in the bag.
-
add
int add(int key)
Increment the frequency of the given key by 1 and return its new frequency.
-
remove
boolean remove(int key)
Decrement the frequency of the given key by one, or do nothing if the key is not present in the bag. Returns true iff the key was contained in the bag.
-
relocateAdjacentKeys
private void relocateAdjacentKeys(int freeSlot)
-
between
private static boolean between(int chainStart, int chainEnd, int slot)Given a chain of occupied slots betweenchainStartandchainEnd, return whetherslotis between the start and end of the chain.
-
asMap
java.util.Map<java.lang.Integer,java.lang.Integer> asMap()
-
-