lastThatOrNull

inline fun <T> Iterable<T>.lastThatOrNull(predicate: (index: Int, T) -> Boolean): T?(source)

Returns the last element in this iterable for which predicate returns true, or null if none match.

The entire iterable is scanned; the predicate receives the zero-based index and each element.

Receiver

This iterable to search in iteration order.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for elements considered as candidates.

Type Parameters

T

The element type of this iterable.


inline fun <T> List<T>.lastThatOrNull(predicate: (index: Int, T) -> Boolean): T?(source)

Returns the last element in this list for which predicate returns true, or null if none match.

Unlike the Iterable overload, this implementation walks the list from end to start.

Receiver

This list to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.

Type Parameters

T

The element type of this list.


inline fun <T> Array<T>.lastThatOrNull(predicate: (index: Int, T) -> Boolean): T?(source)

Returns the last element in this object array for which predicate returns true, or null if none match.

The object array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This object array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.

Type Parameters

T

The element type of this object array.


inline fun ByteArray.lastThatOrNull(predicate: (index: Int, Byte) -> Boolean): Byte?(source)

Returns the last element in this byte array for which predicate returns true, or null if none match.

The byte array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This byte array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.


inline fun ShortArray.lastThatOrNull(predicate: (index: Int, Short) -> Boolean): Short?(source)

Returns the last element in this short array for which predicate returns true, or null if none match.

The short array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This short array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.


inline fun IntArray.lastThatOrNull(predicate: (index: Int, Int) -> Boolean): Int?(source)

Returns the last element in this int array for which predicate returns true, or null if none match.

The int array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This int array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.


inline fun LongArray.lastThatOrNull(predicate: (index: Int, Long) -> Boolean): Long?(source)

Returns the last element in this long array for which predicate returns true, or null if none match.

The long array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This long array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.


inline fun FloatArray.lastThatOrNull(predicate: (index: Int, Float) -> Boolean): Float?(source)

Returns the last element in this float array for which predicate returns true, or null if none match.

The float array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This float array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.


inline fun DoubleArray.lastThatOrNull(predicate: (index: Int, Double) -> Boolean): Double?(source)

Returns the last element in this double array for which predicate returns true, or null if none match.

The double array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This double array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.


inline fun BooleanArray.lastThatOrNull(predicate: (index: Int, Boolean) -> Boolean): Boolean?(source)

Returns the last element in this boolean array for which predicate returns true, or null if none match.

The boolean array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This boolean array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.


inline fun CharArray.lastThatOrNull(predicate: (index: Int, Char) -> Boolean): Char?(source)

Returns the last element in this char array for which predicate returns true, or null if none match.

The char array is scanned from end to start; the predicate receives the zero-based index and each element.

Receiver

This char array to search from end to start.

Return

The last matching element, or null if no element satisfies predicate.

Parameters

predicate

Called with the index and each element; should return true for the element to return.