- All Implemented Interfaces:
LongCollection
,LongList
,Serializable
,Cloneable
,Iterable<Long>
,Collection<Long>
,List<Long>
,RandomAccess
- Direct Known Subclasses:
SortedLongArrayList
public class LongArrayList
extends AbstractList<Long>
implements LongList, RandomAccess, Cloneable, Serializable
An ArrayList that stores things using
long[]
instead of Object[]
. null values are not supported.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected long[]
The array buffer into which the elements of the ArrayList are stored.protected int
The size of the ArrayList (the number of elements it contains).Fields inherited from class java.util.AbstractList
modCount
-
Constructor Summary
ConstructorDescriptionConstructs an empty list with an initial capacity of ten.LongArrayList
(int initialCapacity) Constructs an empty list with the specified initial capacity.LongArrayList
(long[] elements) LongArrayList
(Collection<? extends Number> c) Constructs a list containing the elements of the specified collection, in the order they are returned by the collection's iterator. -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int index, long element) Inserts the specified element at the specified position in this list.void
Inserts the specified element at the specified position in this list.boolean
add
(long o) Appends the specified element to the end of this list.boolean
Appends the specified element to the end of this list.boolean
addAll
(int index, Collection<? extends Long> c) Inserts all of the elements in the specified Collection into this list, starting at the specified position.boolean
addAll
(Collection<? extends Long> c) Appends all of the elements in the specified Collection to the end of this list, in the order that they are returned by the specified Collection's Iterator.void
clear()
Removes all of the elements from this list.clone()
Returns a shallow copy of thisLongArrayList
instance.boolean
contains
(long elem) Returnstrue
if this list contains the specified element.boolean
Returnstrue
if this list contains the specified element.void
ensureCapacity
(int minCapacity) Increases the capacity of thisLongArrayList
instance, if necessary, to ensure that it can hold at least the number of elements specified by the minimum capacity argument.get
(int index) Returns the element at the specified position in this list.long
getLong
(int index) Returns the element at the specified position in this list.int
indexOf
(long elem) Searches for the first occurrence of the given argument, testing for equality using theequals
method.int
Searches for the first occurrence of the given argument, testing for equality using theequals
method.boolean
isEmpty()
Tests if this list has no elements.int
lastIndexOf
(long elem) Returns the index of the last occurrence of the specified object in this list.int
lastIndexOf
(Object elem) Returns the index of the last occurrence of the specified object in this list.remove
(int index) Removes the element at the specified position in this list.boolean
Removes a single instance of the specified element from this list, if it is present (optional operation).long
removeAtIndex
(int index) Removes the element at the specified position in this list.boolean
removeByValue
(long value) Removes a single instance of the specified element from this list, if it is present (optional operation).protected void
removeRange
(int fromIndex, int toIndex) Removes from this List all of the elements whose index is between fromIndex, inclusive and toIndex, exclusive.long
set
(int index, long element) Replaces the element at the specified position in this list with the specified element.Replaces the element at the specified position in this list with the specified element.int
size()
Returns the number of elements in this list.Object[]
toArray()
Returns an array containing all of the elements in this list in the correct order.<T> T[]
toArray
(T[] a) Returns an array containing all of the elements in this list in the correct order; the runtime type of the returned array is that of the specified array.long[]
Returns an array containing all of the elements in this list in the correct order.void
Trims the capacity of thisLongArrayList
instance to be the list's current size.Methods inherited from class java.util.AbstractList
equals, hashCode, iterator, listIterator, listIterator, subList
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.List
containsAll, equals, hashCode, iterator, listIterator, listIterator, removeAll, replaceAll, retainAll, sort, spliterator, subList
-
Field Details
-
elementData
protected transient long[] elementDataThe array buffer into which the elements of the ArrayList are stored. The capacity of the ArrayList is the length of this array buffer. -
size
protected int sizeThe size of the ArrayList (the number of elements it contains).
-
-
Constructor Details
-
LongArrayList
public LongArrayList(int initialCapacity) Constructs an empty list with the specified initial capacity.- Parameters:
initialCapacity
- the initial capacity of the list.- Throws:
IllegalArgumentException
- if the specified initial capacity is negative
-
LongArrayList
public LongArrayList()Constructs an empty list with an initial capacity of ten. -
LongArrayList
Constructs a list containing the elements of the specified collection, in the order they are returned by the collection's iterator. TheLongArrayList
instance has an initial capacity of 110% the size of the specified collection.- Parameters:
c
- the collection whose elements are to be placed into this list.- Throws:
NullPointerException
- if the specified collection is null.
-
LongArrayList
public LongArrayList(long[] elements)
-
-
Method Details
-
trimToSize
public void trimToSize()Trims the capacity of thisLongArrayList
instance to be the list's current size. An application can use this operation to minimize the storage of anLongArrayList
instance. -
ensureCapacity
public void ensureCapacity(int minCapacity) Increases the capacity of thisLongArrayList
instance, if necessary, to ensure that it can hold at least the number of elements specified by the minimum capacity argument.- Parameters:
minCapacity
- the desired minimum capacity.
-
size
public int size()Returns the number of elements in this list.- Specified by:
size
in interfaceCollection<Long>
- Specified by:
size
in interfaceList<Long>
- Specified by:
size
in classAbstractCollection<Long>
- Returns:
- the number of elements in this list.
-
isEmpty
public boolean isEmpty()Tests if this list has no elements.- Specified by:
isEmpty
in interfaceCollection<Long>
- Specified by:
isEmpty
in interfaceList<Long>
- Overrides:
isEmpty
in classAbstractCollection<Long>
- Returns:
true
if this list has no elements;false
otherwise.
-
contains
Returnstrue
if this list contains the specified element.- Specified by:
contains
in interfaceCollection<Long>
- Specified by:
contains
in interfaceList<Long>
- Overrides:
contains
in classAbstractCollection<Long>
- Parameters:
elem
- element whose presence in this List is to be tested.- Returns:
true
if the specified element is present;false
otherwise.
-
contains
public boolean contains(long elem) Returnstrue
if this list contains the specified element.- Specified by:
contains
in interfaceLongCollection
- Parameters:
elem
- element whose presence in this List is to be tested.- Returns:
true
if the specified element is present;false
otherwise.
-
indexOf
Searches for the first occurrence of the given argument, testing for equality using theequals
method. -
indexOf
public int indexOf(long elem) Searches for the first occurrence of the given argument, testing for equality using theequals
method. -
lastIndexOf
Returns the index of the last occurrence of the specified object in this list.- Specified by:
lastIndexOf
in interfaceList<Long>
- Overrides:
lastIndexOf
in classAbstractList<Long>
- Parameters:
elem
- the desired element.- Returns:
- the index of the last occurrence of the specified object in this list; returns -1 if the object is not found.
-
lastIndexOf
public int lastIndexOf(long elem) Returns the index of the last occurrence of the specified object in this list.- Specified by:
lastIndexOf
in interfaceLongList
- Parameters:
elem
- the desired element.- Returns:
- the index of the last occurrence of the specified object in this list; returns -1 if the object is not found.
-
clone
Returns a shallow copy of thisLongArrayList
instance. (The elements themselves are not copied.)- Overrides:
clone
in classObject
- Returns:
- a clone of this
LongArrayList
instance.
-
toArray
Returns an array containing all of the elements in this list in the correct order.- Specified by:
toArray
in interfaceCollection<Long>
- Specified by:
toArray
in interfaceList<Long>
- Overrides:
toArray
in classAbstractCollection<Long>
- Returns:
- an array containing all of the elements in this list in the correct order.
-
toArrayLong
public long[] toArrayLong()Returns an array containing all of the elements in this list in the correct order.- Specified by:
toArrayLong
in interfaceLongCollection
- Returns:
- an array containing all of the elements in this list in the correct order.
-
toArray
public <T> T[] toArray(T[] a) Returns an array containing all of the elements in this list in the correct order; the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list.If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the collection is set to
null
. This is useful in determining the length of the list only if the caller knows that the list does not contain anynull
elements.- Specified by:
toArray
in interfaceCollection<Long>
- Specified by:
toArray
in interfaceList<Long>
- Overrides:
toArray
in classAbstractCollection<Long>
- Parameters:
a
- the array into which the elements of the list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.- Returns:
- an array containing the elements of the list.
- Throws:
ArrayStoreException
- if the runtime type of a is not a supertype of the runtime type of every element in this list.
-
get
Returns the element at the specified position in this list.- Specified by:
get
in interfaceList<Long>
- Specified by:
get
in classAbstractList<Long>
- Parameters:
index
- index of element to return.- Returns:
- the element at the specified position in this list.
- Throws:
IndexOutOfBoundsException
- if index is out of range(index < 0 || index >= size())
.
-
getLong
public long getLong(int index) Returns the element at the specified position in this list.- Specified by:
getLong
in interfaceLongList
- Parameters:
index
- index of element to return.- Returns:
- the element at the specified position in this list.
- Throws:
IndexOutOfBoundsException
- if index is out of range(index < 0 || index >= size())
.
-
set
Replaces the element at the specified position in this list with the specified element.- Specified by:
set
in interfaceList<Long>
- Overrides:
set
in classAbstractList<Long>
- Parameters:
index
- index of element to replace.element
- element to be stored at the specified position.- Returns:
- the element previously at the specified position.
- Throws:
IndexOutOfBoundsException
- if index out of range(index < 0 || index >= size())
.
-
set
public long set(int index, long element) Replaces the element at the specified position in this list with the specified element.- Specified by:
set
in interfaceLongList
- Parameters:
index
- index of element to replace.element
- element to be stored at the specified position.- Returns:
- the element previously at the specified position.
- Throws:
IndexOutOfBoundsException
- if index out of range(index < 0 || index >= size())
.
-
add
Appends the specified element to the end of this list.- Specified by:
add
in interfaceCollection<Long>
- Specified by:
add
in interfaceList<Long>
- Overrides:
add
in classAbstractList<Long>
- Parameters:
o
- element to be appended to this list.- Returns:
true
(as per the general contract of Collection.add).
-
add
public boolean add(long o) Appends the specified element to the end of this list.- Specified by:
add
in interfaceLongCollection
- Parameters:
o
- element to be appended to this list.- Returns:
true
(as per the general contract of Collection.add).
-
add
Inserts the specified element at the specified position in this list. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).- Specified by:
add
in interfaceList<Long>
- Overrides:
add
in classAbstractList<Long>
- Parameters:
index
- index at which the specified element is to be inserted.element
- element to be inserted.- Throws:
IndexOutOfBoundsException
- if index is out of range(index < 0 || index > size())
.
-
add
public void add(int index, long element) Inserts the specified element at the specified position in this list. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).- Specified by:
add
in interfaceLongList
- Parameters:
index
- index at which the specified element is to be inserted.element
- element to be inserted.- Throws:
IndexOutOfBoundsException
- if index is out of range(index < 0 || index > size())
.
-
remove
Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one from their indices).- Specified by:
remove
in interfaceList<Long>
- Overrides:
remove
in classAbstractList<Long>
- Parameters:
index
- the index of the element to removed.- Returns:
- the element that was removed from the list.
- Throws:
IndexOutOfBoundsException
- if index out of range(index < 0 || index >= size())
.
-
removeAtIndex
public long removeAtIndex(int index) Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one from their indices).- Specified by:
removeAtIndex
in interfaceLongList
- Parameters:
index
- the index of the element to removed.- Returns:
- the element that was removed from the list.
- Throws:
IndexOutOfBoundsException
- if index out of range(index < 0 || index >= size())
.
-
remove
Removes a single instance of the specified element from this list, if it is present (optional operation). More formally, removes an elemente
such that(o == null ? e == null : o.equals(e))
, if the list contains one or more such elements. Returnstrue
if the list contained the specified element (or equivalently, if the list changed as a result of the call).- Specified by:
remove
in interfaceCollection<Long>
- Specified by:
remove
in interfaceList<Long>
- Overrides:
remove
in classAbstractCollection<Long>
- Parameters:
o
- element to be removed from this list, if present.- Returns:
true
if the list contained the specified element.
-
removeByValue
public boolean removeByValue(long value) Removes a single instance of the specified element from this list, if it is present (optional operation). More formally, removes an elemente
such that(o == null ? e == null : o.equals(e))
, if the list contains one or more such elements. Returnstrue
if the list contained the specified element (or equivalently, if the list changed as a result of the call).- Specified by:
removeByValue
in interfaceLongCollection
- Parameters:
value
- element to be removed from this list, if present.- Returns:
true
if the list contained the specified element.
-
clear
public void clear()Removes all of the elements from this list. The list will be empty after this call returns.- Specified by:
clear
in interfaceCollection<Long>
- Specified by:
clear
in interfaceList<Long>
- Overrides:
clear
in classAbstractList<Long>
-
addAll
Appends all of the elements in the specified Collection to the end of this list, in the order that they are returned by the specified Collection's Iterator. The behavior of this operation is undefined if the specified Collection is modified while the operation is in progress. (This implies that the behavior of this call is undefined if the specified Collection is this list, and this list is nonempty.)- Specified by:
addAll
in interfaceCollection<Long>
- Specified by:
addAll
in interfaceList<Long>
- Overrides:
addAll
in classAbstractCollection<Long>
- Parameters:
c
- the elements to be inserted into this list.- Returns:
true
if this list changed as a result of the call.- Throws:
NullPointerException
- if the specified collection is null.
-
addAll
Inserts all of the elements in the specified Collection into this list, starting at the specified position. Shifts the element currently at that position (if any) and any subsequent elements to the right (increases their indices). The new elements will appear in the list in the order that they are returned by the specified Collection's iterator.- Specified by:
addAll
in interfaceList<Long>
- Overrides:
addAll
in classAbstractList<Long>
- Parameters:
index
- index at which to insert first element from the specified collection.c
- elements to be inserted into this list.- Returns:
true
if this list changed as a result of the call.- Throws:
IndexOutOfBoundsException
- if index out of range(index < 0 || index > size())
.NullPointerException
- if the specified Collection is null.
-
removeRange
protected void removeRange(int fromIndex, int toIndex) Removes from this List all of the elements whose index is between fromIndex, inclusive and toIndex, exclusive. Shifts any succeeding elements to the left (reduces their index). This call shortens the list by(toIndex - fromIndex)
elements. (IftoIndex == fromIndex
, this operation has no effect.)- Overrides:
removeRange
in classAbstractList<Long>
- Parameters:
fromIndex
- index of first element to be removed.toIndex
- index after last element to be removed.
-