DoubleList
-
Cmn
sealed class DoubleList
MutableDoubleList |
|
DoubleList
is a List
-like collection for Double
values. It allows retrieving the elements without boxing. DoubleList
is always backed by a MutableDoubleList
, its MutableList
-like subclass. The purpose of this class is to avoid the performance overhead of auto-boxing due to generics since Collection
classes all operate on objects.
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
Protected constructors |
|
---|---|
DoubleList(initialCapacity: Int) |
Cmn
|
Public functions |
||
---|---|---|
inline Boolean |
any() Returns |
Cmn
|
inline Boolean |
Returns |
Cmn
|
Int |
binarySearch(element: Int, fromIndex: Int, toIndex: Int) Searches this list the specified element in the range defined by |
Cmn
|
operator Boolean |
Returns |
Cmn
|
Boolean |
containsAll(elements: DoubleList) Returns |
Cmn
|
inline Int |
count() Returns the number of elements in this list. |
Cmn
|
inline Int |
Counts the number of elements matching |
Cmn
|
Double |
Returns the element at the given |
Cmn
|
inline Double |
elementAtOrElse( Returns the element at the given |
Cmn
|
open operator Boolean |
Returns |
Cmn
|
Double |
first() Returns the first element in the |
Cmn
|
inline Double |
Returns the first element in the |
Cmn
|
inline R |
Accumulates values, starting with |
Cmn
|
inline R |
<R : Any?> foldIndexed(initial: R, operation: (index: Int, acc, element: Double) -> R) Accumulates values, starting with |
Cmn
|
inline R |
Accumulates values, starting with |
Cmn
|
inline R |
<R : Any?> foldRightIndexed( Accumulates values, starting with |
Cmn
|
inline Unit |
Calls |
Cmn
|
inline Unit |
forEachIndexed(block: (index: Int, element: Double) -> Unit) Calls |
Cmn
|
inline Unit |
forEachReversed(block: (element: Double) -> Unit) Calls |
Cmn
|
inline Unit |
forEachReversedIndexed(block: (index: Int, element: Double) -> Unit) Calls |
Cmn
|
operator Double |
Returns the element at the given |
Cmn
|
open Int |
hashCode() Returns a hash code based on the contents of the |
Cmn
|
Int |
Returns the index of |
Cmn
|
inline Int |
indexOfFirst(predicate: (element: Double) -> Boolean) Returns the index if the first element in the |
Cmn
|
inline Int |
indexOfLast(predicate: (element: Double) -> Boolean) Returns the index if the last element in the |
Cmn
|
inline Boolean |
isEmpty() Returns |
Cmn
|
inline Boolean |
Returns |
Cmn
|
String |
joinToString( Creates a String from the elements separated by |
Cmn
|
inline String |
joinToString( Creates a String from the elements separated by |
Cmn
|
Double |
last() Returns the last element in the |
Cmn
|
inline Double |
Returns the last element in the |
Cmn
|
Int |
lastIndexOf(element: Double) Returns the index of the last element in the |
Cmn
|
inline Boolean |
none() Returns |
Cmn
|
inline Boolean |
reversedAny(predicate: (element: Double) -> Boolean) Returns |
Cmn
|
open String |
toString() Returns a String representation of the list, surrounded by "[]" and each element separated by ", ". |
Cmn
|
Public properties |
||
---|---|---|
IntRange |
Returns an |
Cmn
|
Int |
Returns the last valid index in the |
Cmn
|
Int |
The number of elements in the |
Cmn
|
Protected constructors
Public functions
any
inline fun any(predicate: (element: Double) -> Boolean): Boolean
Returns true
if any of the elements give a true
return value for predicate
.
binarySearch
fun binarySearch(element: Int, fromIndex: Int = 0, toIndex: Int = size): Int
Searches this list the specified element in the range defined by fromIndex
and toIndex
. The list is expected to be sorted into ascending order according to the natural ordering of its elements, otherwise the result is undefined.
fromIndex
must be >= 0 and <toIndex
, and toIndex
must be <= size
, otherwise an an IndexOutOfBoundsException
will be thrown.
Returns | |
---|---|
Int |
the index of the element if it is contained in the list within the specified range. otherwise, the inverted insertion point |
contains
operator fun contains(element: Double): Boolean
Returns true
if the DoubleList
contains element
or false
otherwise.
containsAll
fun containsAll(elements: DoubleList): Boolean
Returns true
if the DoubleList
contains all elements in elements
or false
if one or more are missing.
count
inline fun count(predicate: (element: Double) -> Boolean): Int
Counts the number of elements matching predicate
.
elementAt
fun elementAt(index: @IntRange(from = 0) Int): Double
Returns the element at the given index
or throws IndexOutOfBoundsException
if the index
is out of bounds of this collection.
elementAtOrElse
inline fun elementAtOrElse(
index: @IntRange(from = 0) Int,
defaultValue: (index: Int) -> Double
): Double
Returns the element at the given index
or defaultValue
if index
is out of bounds of the collection.
equals
open operator fun equals(other: Any?): Boolean
Returns true
if other
is a DoubleList
and the contents of this and other
are the same.
first
fun first(): Double
Returns the first element in the DoubleList
or throws a NoSuchElementException
if it isEmpty
.
first
inline fun first(predicate: (element: Double) -> Boolean): Double
Returns the first element in the DoubleList
for which predicate
returns true
or throws NoSuchElementException
if nothing matches.
See also | |
---|---|
indexOfFirst |
fold
inline fun <R : Any?> fold(initial: R, operation: (acc, element: Double) -> R): R
Accumulates values, starting with initial
, and applying operation
to each element in the DoubleList
in order.
foldIndexed
inline fun <R : Any?> foldIndexed(initial: R, operation: (index: Int, acc, element: Double) -> R): R
Accumulates values, starting with initial
, and applying operation
to each element in the DoubleList
in order.
foldRight
inline fun <R : Any?> foldRight(initial: R, operation: (element: Double, acc) -> R): R
Accumulates values, starting with initial
, and applying operation
to each element in the DoubleList
in reverse order.
foldRightIndexed
inline fun <R : Any?> foldRightIndexed(
initial: R,
operation: (index: Int, element: Double, acc) -> R
): R
Accumulates values, starting with initial
, and applying operation
to each element in the DoubleList
in reverse order.
forEach
inline fun forEach(block: (element: Double) -> Unit): Unit
Calls block
for each element in the DoubleList
, in order.
forEachIndexed
inline fun forEachIndexed(block: (index: Int, element: Double) -> Unit): Unit
Calls block
for each element in the DoubleList
along with its index, in order.
forEachReversed
inline fun forEachReversed(block: (element: Double) -> Unit): Unit
Calls block
for each element in the DoubleList
in reverse order.
forEachReversedIndexed
inline fun forEachReversedIndexed(block: (index: Int, element: Double) -> Unit): Unit
Calls block
for each element in the DoubleList
along with its index, in reverse order.
get
operator fun get(index: @IntRange(from = 0) Int): Double
Returns the element at the given index
or throws IndexOutOfBoundsException
if the index
is out of bounds of this collection.
indexOf
fun indexOf(element: Double): Int
Returns the index of element
in the DoubleList
or -1
if element
is not there.
indexOfFirst
inline fun indexOfFirst(predicate: (element: Double) -> Boolean): Int
Returns the index if the first element in the DoubleList
for which predicate
returns true
.
indexOfLast
inline fun indexOfLast(predicate: (element: Double) -> Boolean): Int
Returns the index if the last element in the DoubleList
for which predicate
returns true
.
isEmpty
inline fun isEmpty(): Boolean
Returns true
if the DoubleList
has no elements in it or false
otherwise.
isNotEmpty
inline fun isNotEmpty(): Boolean
Returns true
if there are elements in the DoubleList
or false
if it is empty.
joinToString
fun joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "..."
): String
Creates a String from the elements separated by separator
and using prefix
before and postfix
after, if supplied.
When a non-negative value of limit
is provided, a maximum of limit
items are used to generate the string. If the collection holds more than limit
items, the string is terminated with truncated
.
joinToString
inline fun joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
crossinline transform: (Double) -> CharSequence
): String
Creates a String from the elements separated by separator
and using prefix
before and postfix
after, if supplied. transform
dictates how each element will be represented.
When a non-negative value of limit
is provided, a maximum of limit
items are used to generate the string. If the collection holds more than limit
items, the string is terminated with truncated
.
last
fun last(): Double
Returns the last element in the DoubleList
or throws a NoSuchElementException
if it isEmpty
.
last
inline fun last(predicate: (element: Double) -> Boolean): Double
Returns the last element in the DoubleList
for which predicate
returns true
or throws NoSuchElementException
if nothing matches.
See also | |
---|---|
indexOfLast |
lastIndexOf
fun lastIndexOf(element: Double): Int
Returns the index of the last element in the DoubleList
that is the same as element
or -1
if no elements match.
reversedAny
inline fun reversedAny(predicate: (element: Double) -> Boolean): Boolean
Returns true
if any of the elements give a true
return value for predicate
while iterating in the reverse order.
Public properties
lastIndex
val lastIndex: Int
Returns the last valid index in the DoubleList
. This can be -1
when the list is empty.