MutableLongList


public final class MutableLongList extends LongList


MutableLongList is a MutableList-like collection for Long values. It allows storing and retrieving the elements without boxing. Immutable access is available through its base class LongList, which has a List-like interface.

This implementation is not thread-safe: if multiple threads access this container concurrently, and one or more threads modify the structure of the list (insertion or removal for instance), the calling code must provide the appropriate synchronization. It is also not safe to mutate during reentrancy -- in the middle of a forEach, for example. However, concurrent reads are safe.

Summary

Public constructors

MutableLongList(int initialCapacity)

Creates a MutableLongList with a capacity of initialCapacity.

Public methods

final boolean
add(long element)

Adds element to the MutableLongList and returns true.

final void
add(@IntRange(from = 0) int index, long element)

Adds element to the MutableLongList at the given index, shifting over any elements at index and after, if any.

final boolean
addAll(@NonNull long[] elements)

Adds all elements to the end of the MutableLongList and returns true if the MutableLongList was changed or false if elements was empty.

final boolean
addAll(@NonNull LongList elements)

Adds all elements to the end of the MutableLongList and returns true if the MutableLongList was changed or false if elements was empty.

final boolean
addAll(@IntRange(from = 0) int index, @NonNull long[] elements)

Adds all elements to the MutableLongList at the given index, shifting over any elements at index and after, if any.

final boolean
addAll(@IntRange(from = 0) int index, @NonNull LongList elements)

Adds all elements to the MutableLongList at the given index, shifting over any elements at index and after, if any.

final void

Removes all elements in the MutableLongList.

final void
ensureCapacity(int capacity)

Ensures that there is enough space to store capacity elements in the MutableLongList.

final int

Returns the total number of elements that can be held before the MutableLongList must grow.

final void
minusAssign(long element)

remove from the MutableLongList

final void
minusAssign(@NonNull long[] elements)

Removes all elements from the MutableLongList.

final void

Removes all elements from the MutableLongList.

final void
plusAssign(long element)

add to the MutableLongList.

final void
plusAssign(@NonNull long[] elements)

Adds all elements to the end of the MutableLongList.

final void

Adds all elements to the end of the MutableLongList.

final boolean
remove(long element)

Removes element from the MutableLongList.

final boolean
removeAll(@NonNull long[] elements)

Removes all elements from the MutableLongList and returns true if anything was removed.

final boolean

Removes all elements from the MutableLongList and returns true if anything was removed.

final long
removeAt(@IntRange(from = 0) int index)

Removes the element at the given index and returns it.

final void
removeRange(@IntRange(from = 0) int start, @IntRange(from = 0) int end)

Removes items from index start (inclusive) to end (exclusive).

final boolean
retainAll(@NonNull long[] elements)

Keeps only elements in the MutableLongList and removes all other values.

final boolean

Keeps only elements in the MutableLongList and removes all other values.

final long
set(@IntRange(from = 0) int index, long element)

Sets the value at index to element.

final void

Sorts the MutableLongList elements in ascending order.

final void

Sorts the MutableLongList elements in descending order.

final void
trim(int minCapacity)

Reduces the internal storage.

Inherited methods

From androidx.collection.LongList
final boolean
any()

Returns true if there's at least one element in the collection.

final boolean
any(@NonNull Function1<@NonNull Long, @NonNull Boolean> predicate)

Returns true if any of the elements give a true return value for predicate.

final int
binarySearch(int element, int fromIndex, int toIndex)

Searches this list the specified element in the range defined by fromIndex and toIndex.

final boolean
contains(long element)

Returns true if the LongList contains element or false otherwise.

final boolean

Returns true if the LongList contains all elements in elements or false if one or more are missing.

final int

Returns the number of elements in this list.

final int
count(@NonNull Function1<@NonNull Long, @NonNull Boolean> predicate)

Counts the number of elements matching predicate.

final long
elementAt(@IntRange(from = 0) int index)

Returns the element at the given index or throws IndexOutOfBoundsException if the index is out of bounds of this collection.

final long
elementAtOrElse(
    @IntRange(from = 0) int index,
    @NonNull Function1<@NonNull Integer, @NonNull Long> defaultValue
)

Returns the element at the given index or defaultValue if index is out of bounds of the collection.

boolean
equals(Object other)

Returns true if other is a LongList and the contents of this and other are the same.

final long

Returns the first element in the LongList or throws a NoSuchElementException if it isEmpty.

final long
first(@NonNull Function1<@NonNull Long, @NonNull Boolean> predicate)

Returns the first element in the LongList for which predicate returns true or throws NoSuchElementException if nothing matches.

final @NonNull R
<R extends Object> fold(
    @NonNull R initial,
    @NonNull Function2<@NonNull acc, @NonNull Long, @NonNull R> operation
)

Accumulates values, starting with initial, and applying operation to each element in the LongList in order.

final @NonNull R
<R extends Object> foldIndexed(
    @NonNull R initial,
    @NonNull Function3<@NonNull Integer, @NonNull acc, @NonNull Long, @NonNull R> operation
)

Accumulates values, starting with initial, and applying operation to each element in the LongList in order.

final @NonNull R
<R extends Object> foldRight(
    @NonNull R initial,
    @NonNull Function2<@NonNull Long, @NonNull acc, @NonNull R> operation
)

Accumulates values, starting with initial, and applying operation to each element in the LongList in reverse order.

final @NonNull R
<R extends Object> foldRightIndexed(
    @NonNull R initial,
    @NonNull Function3<@NonNull Integer, @NonNull Long, @NonNull acc, @NonNull R> operation
)

Accumulates values, starting with initial, and applying operation to each element in the LongList in reverse order.

final void
forEach(@NonNull Function1<@NonNull LongUnit> block)

Calls block for each element in the LongList, in order.

final void
forEachIndexed(
    @NonNull Function2<@NonNull Integer, @NonNull LongUnit> block
)

Calls block for each element in the LongList along with its index, in order.

final void
forEachReversed(@NonNull Function1<@NonNull LongUnit> block)

Calls block for each element in the LongList in reverse order.

final void
forEachReversedIndexed(
    @NonNull Function2<@NonNull Integer, @NonNull LongUnit> block
)

Calls block for each element in the LongList along with its index, in reverse order.

final long
get(@IntRange(from = 0) int index)

Returns the element at the given index or throws IndexOutOfBoundsException if the index is out of bounds of this collection.

final @NonNull IntRange

Returns an IntRange of the valid indices for this LongList.

final @IntRange(from = -1) int

Returns the last valid index in the LongList.

final @IntRange(from = 0) int

The number of elements in the LongList.

int

Returns a hash code based on the contents of the LongList.

final int
indexOf(long element)

Returns the index of element in the LongList or -1 if element is not there.

final int
indexOfFirst(@NonNull Function1<@NonNull Long, @NonNull Boolean> predicate)

Returns the index if the first element in the LongList for which predicate returns true.

final int
indexOfLast(@NonNull Function1<@NonNull Long, @NonNull Boolean> predicate)

Returns the index if the last element in the LongList for which predicate returns true.

final boolean

Returns true if the LongList has no elements in it or false otherwise.

final boolean

Returns true if there are elements in the LongList or false if it is empty.

final @NonNull String
joinToString(
    @NonNull CharSequence separator,
    @NonNull CharSequence prefix,
    @NonNull CharSequence postfix,
    int limit,
    @NonNull CharSequence truncated
)

Creates a String from the elements separated by separator and using prefix before and postfix after, if supplied.

final @NonNull String
joinToString(
    @NonNull CharSequence separator,
    @NonNull CharSequence prefix,
    @NonNull CharSequence postfix,
    int limit,
    @NonNull CharSequence truncated,
    @NonNull Function1<@NonNull Long, @NonNull CharSequence> transform
)

Creates a String from the elements separated by separator and using prefix before and postfix after, if supplied.

final long

Returns the last element in the LongList or throws a NoSuchElementException if it isEmpty.

final long
last(@NonNull Function1<@NonNull Long, @NonNull Boolean> predicate)

Returns the last element in the LongList for which predicate returns true or throws NoSuchElementException if nothing matches.

final int
lastIndexOf(long element)

Returns the index of the last element in the LongList that is the same as element or -1 if no elements match.

final boolean

Returns true if the collection has no elements in it.

final boolean
reversedAny(@NonNull Function1<@NonNull Long, @NonNull Boolean> predicate)

Returns true if any of the elements give a true return value for predicate while iterating in the reverse order.

@NonNull String

Returns a String representation of the list, surrounded by "[]" and each element separated by ", ".

Public constructors

MutableLongList

Added in 1.4.0
public MutableLongList(int initialCapacity)

Creates a MutableLongList with a capacity of initialCapacity.

Public methods

add

Added in 1.4.0
public final boolean add(long element)

Adds element to the MutableLongList and returns true.

add

Added in 1.4.0
public final void add(@IntRange(from = 0) int index, long element)

Adds element to the MutableLongList at the given index, shifting over any elements at index and after, if any.

Throws
kotlin.IndexOutOfBoundsException

if index isn't between 0 and size, inclusive

addAll

Added in 1.4.0
public final boolean addAll(@NonNull long[] elements)

Adds all elements to the end of the MutableLongList and returns true if the MutableLongList was changed or false if elements was empty.

addAll

Added in 1.4.0
public final boolean addAll(@NonNull LongList elements)

Adds all elements to the end of the MutableLongList and returns true if the MutableLongList was changed or false if elements was empty.

addAll

Added in 1.4.0
public final boolean addAll(@IntRange(from = 0) int index, @NonNull long[] elements)

Adds all elements to the MutableLongList at the given index, shifting over any elements at index and after, if any.

Returns
boolean

true if the MutableLongList was changed or false if elements was empty

Throws
kotlin.IndexOutOfBoundsException

if index isn't between 0 and size, inclusive.

addAll

Added in 1.4.0
public final boolean addAll(@IntRange(from = 0) int index, @NonNull LongList elements)

Adds all elements to the MutableLongList at the given index, shifting over any elements at index and after, if any.

Returns
boolean

true if the MutableLongList was changed or false if elements was empty

Throws
kotlin.IndexOutOfBoundsException

if index isn't between 0 and size, inclusive

clear

Added in 1.4.0
public final void clear()

Removes all elements in the MutableLongList. The storage isn't released.

See also
trim

ensureCapacity

Added in 1.4.0
public final void ensureCapacity(int capacity)

Ensures that there is enough space to store capacity elements in the MutableLongList.

See also
trim

getCapacity

Added in 1.4.0
public final int getCapacity()

Returns the total number of elements that can be held before the MutableLongList must grow.

See also
ensureCapacity

minusAssign

Added in 1.4.0
public final void minusAssign(long element)

remove from the MutableLongList

minusAssign

Added in 1.4.0
public final void minusAssign(@NonNull long[] elements)

Removes all elements from the MutableLongList.

minusAssign

Added in 1.4.0
public final void minusAssign(@NonNull LongList elements)

Removes all elements from the MutableLongList.

plusAssign

Added in 1.4.0
public final void plusAssign(long element)

add to the MutableLongList.

plusAssign

Added in 1.4.0
public final void plusAssign(@NonNull long[] elements)

Adds all elements to the end of the MutableLongList.

plusAssign

Added in 1.4.0
public final void plusAssign(@NonNull LongList elements)

Adds all elements to the end of the MutableLongList.

remove

Added in 1.4.0
public final boolean remove(long element)

Removes element from the MutableLongList. If element was in the MutableLongList and was removed, true will be returned, or false will be returned if the element was not found.

removeAll

Added in 1.4.0
public final boolean removeAll(@NonNull long[] elements)

Removes all elements from the MutableLongList and returns true if anything was removed.

removeAll

Added in 1.4.0
public final boolean removeAll(@NonNull LongList elements)

Removes all elements from the MutableLongList and returns true if anything was removed.

removeAt

Added in 1.4.0
public final long removeAt(@IntRange(from = 0) int index)

Removes the element at the given index and returns it.

Throws
kotlin.IndexOutOfBoundsException

if index isn't between 0 and lastIndex, inclusive

removeRange

Added in 1.4.0
public final void removeRange(@IntRange(from = 0) int start, @IntRange(from = 0) int end)

Removes items from index start (inclusive) to end (exclusive).

Throws
kotlin.IndexOutOfBoundsException

if start or end isn't between 0 and size, inclusive

kotlin.IllegalArgumentException

if start is greater than end

retainAll

Added in 1.4.0
public final boolean retainAll(@NonNull long[] elements)

Keeps only elements in the MutableLongList and removes all other values.

Returns
boolean

true if the MutableLongList has changed.

retainAll

Added in 1.4.0
public final boolean retainAll(@NonNull LongList elements)

Keeps only elements in the MutableLongList and removes all other values.

Returns
boolean

true if the MutableLongList has changed.

set

Added in 1.4.0
public final long set(@IntRange(from = 0) int index, long element)

Sets the value at index to element.

Returns
long

the previous value set at index

Throws
kotlin.IndexOutOfBoundsException

if index isn't between 0 and lastIndex, inclusive

sort

Added in 1.4.0
public final void sort()

Sorts the MutableLongList elements in ascending order.

sortDescending

Added in 1.4.0
public final void sortDescending()

Sorts the MutableLongList elements in descending order.

trim

Added in 1.4.0
public final void trim(int minCapacity)

Reduces the internal storage. If capacity is greater than minCapacity and size, the internal storage is reduced to the maximum of size and minCapacity.

See also
ensureCapacity