Package org.apache.lucene.util
Class BytesRefArray
java.lang.Object
org.apache.lucene.util.BytesRefArray
A simple append only random-access
BytesRef array that stores full copies of the appended
bytes in a ByteBlockPool.
Note: This class is not Thread-Safe!
- WARNING: This API is experimental and might change in incompatible ways in the next release.
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceAn extension ofBytesRefIteratorthat allows retrieving the index of the current elementstatic final classUsed to iterate the elements of an array in a given order. -
Constructor Summary
ConstructorsConstructorDescriptionBytesRefArray(Counter bytesUsed) Creates a newBytesRefArraywith a counter to track allocated bytes -
Method Summary
Modifier and TypeMethodDescriptionintAppends a copy of the givenBytesRefto thisBytesRefArray.voidclear()Clears thisBytesRefArrayget(BytesRefBuilder spare, int index) Returns the n'th element of thisBytesRefArrayiterator()sugar foriterator(Comparator)with anullcomparatoriterator(Comparator<BytesRef> comp) Returns aBytesRefIteratorwith point in time semantics.iterator(BytesRefArray.SortState sortState) Returns anBytesRefArray.IndexedBytesRefIteratorwith point in time semantics.intsize()Returns the current size of thisBytesRefArraysort(Comparator<BytesRef> comp, boolean stable) Returns aBytesRefArray.SortStaterepresenting the order of elements in this array.
-
Constructor Details
-
BytesRefArray
Creates a newBytesRefArraywith a counter to track allocated bytes
-
-
Method Details
-
clear
public void clear()Clears thisBytesRefArray -
append
Appends a copy of the givenBytesRefto thisBytesRefArray.- Parameters:
bytes- the bytes to append- Returns:
- the index of the appended bytes
-
size
public int size()Returns the current size of thisBytesRefArray- Returns:
- the current size of this
BytesRefArray
-
get
Returns the n'th element of thisBytesRefArray- Parameters:
spare- a spareBytesRefinstanceindex- the elements index to retrieve- Returns:
- the n'th element of this
BytesRefArray
-
sort
Returns aBytesRefArray.SortStaterepresenting the order of elements in this array. This is a non-destructive operation.- Parameters:
comp- The comparator to compareBytesRefs. A radix sort optimization is available if the comparator implementsBytesRefComparatorstable- If the sort needs to be stable- Returns:
- A
BytesRefArray.SortStatethat could be used initerator(SortState)
-
iterator
sugar foriterator(Comparator)with anullcomparator -
iterator
Returns aBytesRefIteratorwith point in time semantics. The iterator provides access to all so far appendedBytesRefinstances.If a non
nullComparatoris provided the iterator will iterate the byte values in the order specified by the comparator. Otherwise the order is the same as the values were appended.This is a non-destructive operation.
-
iterator
Returns anBytesRefArray.IndexedBytesRefIteratorwith point in time semantics. The iterator provides access to all so far appendedBytesRefinstances. If a non-null sortState is specified then the iterator will iterate the byte values in the order of the sortState; otherwise, the order is the same as the values were appended.
-