Module org.apache.lucene.core
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 long
BASE_RAM_BYTES_USED
private int[]
freqs
private int[]
keys
private int
mask
-
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) int
add(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 boolean
between(int chainStart, int chainEnd, int slot)
Given a chain of occupied slots betweenchainStart
andchainEnd
, return whetherslot
is between the start and end of the chain.(package private) int
frequency(int key)
Return the frequency of the give key in the bag.long
ramBytesUsed()
Return the memory usage of this object in bytes.private void
relocateAdjacentKeys(int freeSlot)
(package private) 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.-
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:Accountable
Return the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsed
in 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 betweenchainStart
andchainEnd
, return whetherslot
is between the start and end of the chain.
-
asMap
java.util.Map<java.lang.Integer,java.lang.Integer> asMap()
-
-