Package org.apache.lucene.internal.hppc
Class FloatArrayList
- java.lang.Object
-
- org.apache.lucene.internal.hppc.FloatArrayList
-
- All Implemented Interfaces:
Cloneable,Iterable<FloatCursor>,Accountable
public class FloatArrayList extends Object implements Iterable<FloatCursor>, Cloneable, Accountable
An array-backed list offloat.Mostly forked and trimmed from com.carrotsearch.hppc.FloatArrayList
github: https://github.com/carrotsearch/hppc release 0.10.0
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description float[]bufferInternal array for storing the list.intelementsCountCurrent number of elements stored inbuffer.static float[]EMPTY_ARRAYAn immutable empty buffer (array).-
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
-
Constructor Summary
Constructors Constructor Description FloatArrayList()New instance with sane defaults.FloatArrayList(int expectedElements)New instance with sane defaults.FloatArrayList(FloatArrayList list)Creates a new list from the elements of another list in its iteration order.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(float e1)voidadd(float... elements)Vararg-signature method for adding elements at the end of the list.voidadd(float[] elements, int start, int length)Add all elements from a range of given array to the list.intaddAll(Iterable<? extends FloatCursor> iterable)Adds all elements from another iterable.intaddAll(FloatArrayList list)Adds all elements from another list.voidclear()Sets the number of stored elements to zero.FloatArrayListclone()Clone this object.booleancontains(float e1)protected voidensureBufferSpace(int expectedAdditions)Ensures the internal buffer has enough free slots to storeexpectedAdditions.voidensureCapacity(int expectedElements)Ensure this container can hold at least the given number of elements without resizing its buffers.protected booleanequalElements(FloatArrayList other)Compare index-aligned elements against anotherFloatArrayList.booleanequals(Object obj)Returnstrueonly if the other object is an instance of the same class and with the same elements.static FloatArrayListfrom(float... elements)Create a list from a variable number of arguments or an array ofint.floatget(int index)inthashCode()intindexOf(float e1)voidinsert(int index, float e1)booleanisEmpty()Iterator<FloatCursor>iterator()intlastIndexOf(float e1)longramBytesUsed()Return the memory usage of this object in bytes.voidrelease()Sets the number of stored elements to zero and releases the internal storage array.intremoveAll(float e)Removes all occurrences ofefrom this collection.floatremoveAt(int index)Removes the element at the specified position in this container and returns it.booleanremoveElement(float e)Removes the first element that equalse, returning whether an element has been removed.intremoveFirst(float e1)Removes the first element that equalse1, returning its deleted position or-1if the element was not found.floatremoveLast()Removes and returns the last element of this list.intremoveLast(float e1)Removes the last element that equalse1, returning its deleted position or-1if the element was not found.voidremoveRange(int fromIndex, int toIndex)Removes from this list all the elements with indexes betweenfromIndex, inclusive, andtoIndex, exclusive.voidresize(int newSize)Truncate or expand the list to the new size.FloatArrayListreverse()Reverses the elements in this list and returns this list.floatset(int index, float e1)intsize()FloatArrayListsort()Sorts the elements in this list and returns this list.float[]toArray()The returned array is sized to match exactly the number of elements of the stack.StringtoString()Convert the contents of this list to a human-friendly string.voidtrimToSize()Trim the internal buffer to the current size.-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
EMPTY_ARRAY
public static final float[] EMPTY_ARRAY
An immutable empty buffer (array).
-
buffer
public float[] buffer
Internal array for storing the list. The array may be larger than the current size (size()).
-
elementsCount
public int elementsCount
Current number of elements stored inbuffer.
-
-
Constructor Detail
-
FloatArrayList
public FloatArrayList()
New instance with sane defaults.
-
FloatArrayList
public FloatArrayList(int expectedElements)
New instance with sane defaults.- Parameters:
expectedElements- The expected number of elements guaranteed not to cause buffer expansion (inclusive).
-
FloatArrayList
public FloatArrayList(FloatArrayList list)
Creates a new list from the elements of another list in its iteration order.
-
-
Method Detail
-
add
public void add(float e1)
-
add
public void add(float[] elements, int start, int length)Add all elements from a range of given array to the list.
-
add
public final void add(float... elements)
Vararg-signature method for adding elements at the end of the list.This method is handy, but costly if used in tight loops (anonymous array passing)
-
addAll
public int addAll(FloatArrayList list)
Adds all elements from another list.
-
addAll
public int addAll(Iterable<? extends FloatCursor> iterable)
Adds all elements from another iterable.
-
insert
public void insert(int index, float e1)
-
get
public float get(int index)
-
set
public float set(int index, float e1)
-
removeAt
public float removeAt(int index)
Removes the element at the specified position in this container and returns it.
-
removeLast
public float removeLast()
Removes and returns the last element of this list.
-
removeRange
public void removeRange(int fromIndex, int toIndex)Removes from this list all the elements with indexes betweenfromIndex, inclusive, andtoIndex, exclusive.
-
removeElement
public boolean removeElement(float e)
Removes the first element that equalse, returning whether an element has been removed.
-
removeFirst
public int removeFirst(float e1)
Removes the first element that equalse1, returning its deleted position or-1if the element was not found.
-
removeLast
public int removeLast(float e1)
Removes the last element that equalse1, returning its deleted position or-1if the element was not found.
-
removeAll
public int removeAll(float e)
Removes all occurrences ofefrom this collection.- Parameters:
e- Element to be removed from this collection, if present.- Returns:
- The number of removed elements as a result of this call.
-
contains
public boolean contains(float e1)
-
indexOf
public int indexOf(float e1)
-
lastIndexOf
public int lastIndexOf(float e1)
-
isEmpty
public boolean isEmpty()
-
ensureCapacity
public void ensureCapacity(int expectedElements)
Ensure this container can hold at least the given number of elements without resizing its buffers.- Parameters:
expectedElements- The total number of elements, inclusive.
-
ensureBufferSpace
protected void ensureBufferSpace(int expectedAdditions)
Ensures the internal buffer has enough free slots to storeexpectedAdditions. Increases internal buffer size if needed.
-
resize
public void resize(int newSize)
Truncate or expand the list to the new size. If the list is truncated, the buffer will not be reallocated (usetrimToSize()if you need a truncated buffer), but the truncated values will be reset to the default value (zero). If the list is expanded, the elements beyond the current size are initialized with JVM-defaults (zero ornullvalues).
-
size
public int size()
-
trimToSize
public void trimToSize()
Trim the internal buffer to the current size.
-
clear
public void clear()
Sets the number of stored elements to zero. Releases and initializes the internal storage array to default values. To clear the list without cleaning the buffer, simply set theelementsCountfield to zero.
-
release
public void release()
Sets the number of stored elements to zero and releases the internal storage array.
-
toArray
public float[] toArray()
The returned array is sized to match exactly the number of elements of the stack.
-
clone
public FloatArrayList clone()
Clone this object. The returned clone will reuse the same hash function and array resizing strategy.
-
equals
public boolean equals(Object obj)
Returnstrueonly if the other object is an instance of the same class and with the same elements.
-
equalElements
protected boolean equalElements(FloatArrayList other)
Compare index-aligned elements against anotherFloatArrayList.
-
toString
public String toString()
Convert the contents of this list to a human-friendly string.
-
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
-
sort
public FloatArrayList sort()
Sorts the elements in this list and returns this list.
-
reverse
public FloatArrayList reverse()
Reverses the elements in this list and returns this list.
-
iterator
public Iterator<FloatCursor> iterator()
- Specified by:
iteratorin interfaceIterable<FloatCursor>
-
from
public static FloatArrayList from(float... elements)
Create a list from a variable number of arguments or an array ofint. The elements are copied from the argument to the internal buffer.
-
-