Package org.apache.lucene.internal.hppc
Class IntArrayList
java.lang.Object
org.apache.lucene.internal.hppc.IntArrayList
- All Implemented Interfaces:
Cloneable
,Iterable<IntCursor>
,Accountable
An array-backed list of
int
.
Mostly forked and trimmed from com.carrotsearch.hppc.IntArrayList
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
FieldsModifier and TypeFieldDescriptionint[]
Internal array for storing the list.int
Current number of elements stored inbuffer
.static final int[]
An immutable empty buffer (array).Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
Constructor Summary
ConstructorsConstructorDescriptionNew instance with sane defaults.IntArrayList
(int expectedElements) New instance with sane defaults.IntArrayList
(IntArrayList list) Creates a new list from the elements of another list in its iteration order. -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int e1) final void
add
(int... elements) Vararg-signature method for adding elements at the end of the list.void
add
(int[] elements, int start, int length) Add all elements from a range of given array to the list.int
Adds all elements from another iterable.int
addAll
(IntArrayList list) Adds all elements from another list.void
clear()
Sets the number of stored elements to zero.clone()
Clone this object.boolean
contains
(int e1) protected void
ensureBufferSpace
(int expectedAdditions) Ensures the internal buffer has enough free slots to storeexpectedAdditions
.void
ensureCapacity
(int expectedElements) Ensure this container can hold at least the given number of elements without resizing its buffers.protected boolean
equalElements
(IntArrayList other) Compare index-aligned elements against anotherIntArrayList
.boolean
Returnstrue
only if the other object is an instance of the same class and with the same elements.static IntArrayList
from
(int... elements) Create a list from a variable number of arguments or an array ofint
.int
get
(int index) int
hashCode()
int
indexOf
(int e1) void
insert
(int index, int e1) boolean
isEmpty()
iterator()
int
lastIndexOf
(int e1) long
Return the memory usage of this object in bytes.void
release()
Sets the number of stored elements to zero and releases the internal storage array.int
removeAll
(int e) Removes all occurrences ofe
from this collection.int
removeAt
(int index) Removes the element at the specified position in this container and returns it.boolean
removeElement
(int e) Removes the first element that equalse
, returning whether an element has been removed.int
removeFirst
(int e1) Removes the first element that equalse1
, returning its deleted position or-1
if the element was not found.int
Removes and returns the last element of this list.int
removeLast
(int e1) Removes the last element that equalse1
, returning its deleted position or-1
if the element was not found.void
removeRange
(int fromIndex, int toIndex) Removes from this list all the elements with indexes betweenfromIndex
, inclusive, andtoIndex
, exclusive.void
resize
(int newSize) Truncate or expand the list to the new size.reverse()
Reverses the elements in this list and returns this list.int
set
(int index, int e1) int
size()
sort()
Sorts the elements in this list and returns this list.stream()
Returns a stream of all the elements contained in this list.int[]
toArray()
The returned array is sized to match exactly the number of elements of the stack.toString()
Convert the contents of this list to a human-friendly string.void
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 Details
-
Constructor Details
-
IntArrayList
public IntArrayList()New instance with sane defaults. -
IntArrayList
public IntArrayList(int expectedElements) New instance with sane defaults.- Parameters:
expectedElements
- The expected number of elements guaranteed not to cause buffer expansion (inclusive).
-
IntArrayList
Creates a new list from the elements of another list in its iteration order.
-
-
Method Details
-
add
public void add(int e1) -
add
public void add(int[] elements, int start, int length) Add all elements from a range of given array to the list. -
add
public final void add(int... 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
Adds all elements from another list. -
addAll
Adds all elements from another iterable. -
insert
public void insert(int index, int e1) -
get
public int get(int index) -
set
public int set(int index, int e1) -
removeAt
public int removeAt(int index) Removes the element at the specified position in this container and returns it. -
removeLast
public int 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(int e) Removes the first element that equalse
, returning whether an element has been removed. -
removeFirst
public int removeFirst(int e1) Removes the first element that equalse1
, returning its deleted position or-1
if the element was not found. -
removeLast
public int removeLast(int e1) Removes the last element that equalse1
, returning its deleted position or-1
if the element was not found. -
removeAll
public int removeAll(int e) Removes all occurrences ofe
from 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(int e1) -
indexOf
public int indexOf(int e1) -
lastIndexOf
public int lastIndexOf(int 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 ornull
values). -
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 theelementsCount
field to zero. -
release
public void release()Sets the number of stored elements to zero and releases the internal storage array. -
toArray
public int[] toArray()The returned array is sized to match exactly the number of elements of the stack. -
clone
Clone this object. The returned clone will reuse the same hash function and array resizing strategy. -
hashCode
public int hashCode() -
equals
Returnstrue
only if the other object is an instance of the same class and with the same elements. -
equalElements
Compare index-aligned elements against anotherIntArrayList
. -
toString
Convert the contents of this list to a human-friendly string. -
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
-
stream
Returns a stream of all the elements contained in this list. -
sort
Sorts the elements in this list and returns this list. -
reverse
Reverses the elements in this list and returns this list. -
iterator
-
from
Create a list from a variable number of arguments or an array ofint
. The elements are copied from the argument to the internal buffer.
-