HashSet
A hash table implementation of MutableSet.
This class stores unique elements using a hash table data structure that provides fast lookups and ensures no duplicate elements are stored. It fully implements the MutableSet contract, providing all standard Set operations including lookup, insertion, and removal.
Null elements
HashSet accepts null as an element. Since elements are unique, at most one null element can exist in the set.
Element's hash code and equality contracts
HashSet relies on the Any.hashCode and Any.equals functions of elements to organize and locate them. Elements are considered equal if their Any.equals function returns true, and elements that are equal must have the same Any.hashCode value. Violating this contract can lead to incorrect behavior, such as duplicate elements being stored or elements becoming unreachable.
The Any.hashCode and Any.equals functions should be consistent and immutable during the lifetime of the element objects. Modifying an element in a way that changes its hash code or equality after it has been added to a HashSet may lead to the element becoming unreachable.
Performance characteristics
The performance characteristics below assume that the Any.hashCode function of elements distributes them uniformly across the hash table, minimizing collisions. A poor hash function that causes many collisions can degrade performance.
HashSet provides efficient implementation for common operations:
Iteration order
HashSet does not guarantee any particular order for iteration over its elements. The iteration order is unpredictable and may change when the set is rehashed (when elements are added or removed and the internal capacity is adjusted). Do not rely on any specific iteration order.
If a predictable iteration order is required, consider using LinkedHashSet, which maintains insertion order.
Usage guidelines
HashSet uses an internal data structure with a finite capacity - the maximum number of elements it can store before needing to grow. As elements are added, the set tracks its load factor, which is the ratio of the number of elements to the current capacity. When this ratio exceeds a certain threshold, the set automatically increases its capacity and performs rehashing - rebuilding the internal data structure to redistribute elements. Rehashing is a relatively expensive operation that temporarily impacts performance. When creating a HashSet, you can optionally provide values for the initial capacity and load factor threshold. Note that these parameters are just hints for the implementation and can be ignored.
To optimize performance and memory usage:
If the number of elements is known in advance, use the constructor with initial capacity to avoid multiple rehashing operations as the set grows.
Choose an appropriate load factor when creating the set. A lower load factor reduces collision probability but uses more memory, while a higher load factor saves memory but may increase lookup time. The default load factor typically provides a good balance.
Ensure element objects have well-distributed Any.hashCode implementations to minimize collisions and maintain good performance.
Prefer addAll over multiple individual add calls when adding multiple elements.
Thread safety
HashSet is not thread-safe. If multiple threads access an instance concurrently and at least one thread modifies it, external synchronization is required.
Since Kotlin
1.0Parameters
the type of elements contained in the set. The mutable set is invariant in its element type.
A hash table implementation of MutableSet.
This class stores unique elements using a hash table data structure that provides fast lookups and ensures no duplicate elements are stored. It fully implements the MutableSet contract, providing all standard Set operations including lookup, insertion, and removal.
Null elements
HashSet accepts null as an element. Since elements are unique, at most one null element can exist in the set.
Element's hash code and equality contracts
HashSet relies on the Any.hashCode and Any.equals functions of elements to organize and locate them. Elements are considered equal if their Any.equals function returns true, and elements that are equal must have the same Any.hashCode value. Violating this contract can lead to incorrect behavior, such as duplicate elements being stored or elements becoming unreachable.
The Any.hashCode and Any.equals functions should be consistent and immutable during the lifetime of the element objects. Modifying an element in a way that changes its hash code or equality after it has been added to a HashSet may lead to the element becoming unreachable.
Performance characteristics
The performance characteristics below assume that the Any.hashCode function of elements distributes them uniformly across the hash table, minimizing collisions. A poor hash function that causes many collisions can degrade performance.
HashSet provides efficient implementation for common operations:
Iteration order
HashSet does not guarantee any particular order for iteration over its elements. The iteration order is unpredictable and may change when the set is rehashed (when elements are added or removed and the internal capacity is adjusted). Do not rely on any specific iteration order.
If a predictable iteration order is required, consider using LinkedHashSet, which maintains insertion order.
Usage guidelines
HashSet uses an internal data structure with a finite capacity - the maximum number of elements it can store before needing to grow. When the set becomes full, it automatically increases its capacity and performs rehashing - rebuilding the internal data structure to redistribute elements. Rehashing is a relatively expensive operation that temporarily impacts performance. When creating a HashSet, you can optionally provide an initial capacity value, which will be used to size the internal data structure, potentially avoiding rehashing operations as the set grows.
To optimize performance and memory usage:
If the number of elements is known in advance, use the constructor with initial capacity to avoid multiple rehashing operations as the set grows.
Ensure element objects have well-distributed Any.hashCode implementations to minimize collisions and maintain good performance.
Prefer addAll over multiple individual add calls when adding multiple elements.
Thread safety
HashSet is not thread-safe. If multiple threads access an instance concurrently and at least one thread modifies it, external synchronization is required.
Since Kotlin
1.1Parameters
the type of elements contained in the set. The mutable set is invariant in its element type.
Inheritors
A hash table implementation of MutableSet.
This class stores unique elements using a hash table data structure that provides fast lookups and ensures no duplicate elements are stored. It fully implements the MutableSet contract, providing all standard Set operations including lookup, insertion, and removal.
Null elements
HashSet accepts null as an element. Since elements are unique, at most one null element can exist in the set.
Element's hash code and equality contracts
HashSet relies on the Any.hashCode and Any.equals functions of elements to organize and locate them. Elements are considered equal if their Any.equals function returns true, and elements that are equal must have the same Any.hashCode value. Violating this contract can lead to incorrect behavior, such as duplicate elements being stored or elements becoming unreachable.
The Any.hashCode and Any.equals functions should be consistent and immutable during the lifetime of the element objects. Modifying an element in a way that changes its hash code or equality after it has been added to a HashSet may lead to the element becoming unreachable.
Performance characteristics
The performance characteristics below assume that the Any.hashCode function of elements distributes them uniformly across the hash table, minimizing collisions. A poor hash function that causes many collisions can degrade performance.
HashSet provides efficient implementation for common operations:
Iteration order
HashSet does not guarantee any particular order for iteration over its elements. The iteration order is unpredictable and may change when the set is rehashed (when elements are added or removed and the internal capacity is adjusted). Do not rely on any specific iteration order.
If a predictable iteration order is required, consider using LinkedHashSet, which maintains insertion order.
Usage guidelines
HashSet uses an internal data structure with a finite capacity - the maximum number of elements it can store before needing to grow. As elements are added, the set tracks its load factor, which is the ratio of the number of elements to the current capacity. When this ratio exceeds a certain threshold, the set automatically increases its capacity and performs rehashing - rebuilding the internal data structure to redistribute elements. Rehashing is a relatively expensive operation that temporarily impacts performance. When creating a HashSet, you can optionally provide values for the initial capacity and load factor threshold.
To optimize performance and memory usage:
If the number of elements is known in advance, use the constructor with initial capacity to avoid multiple rehashing operations as the set grows.
Choose an appropriate load factor when creating the set. A lower load factor reduces collision probability but uses more memory, while a higher load factor saves memory but may increase lookup time. The default load factor typically provides a good balance.
Ensure element objects have well-distributed Any.hashCode implementations to minimize collisions and maintain good performance.
Prefer addAll over multiple individual add calls when adding multiple elements.
Thread safety
HashSet is not thread-safe. If multiple threads access an instance concurrently and at least one thread modifies it, external synchronization is required.
Since Kotlin
1.1Parameters
the type of elements contained in the set. The mutable set is invariant in its element type.
A hash table implementation of MutableSet.
This class stores unique elements using a hash table data structure that provides fast lookups and ensures no duplicate elements are stored. It fully implements the MutableSet contract, providing all standard Set operations including lookup, insertion, and removal.
Null elements
HashSet accepts null as an element. Since elements are unique, at most one null element can exist in the set.
Element's hash code and equality contracts
HashSet relies on the Any.hashCode and Any.equals functions of elements to organize and locate them. Elements are considered equal if their Any.equals function returns true, and elements that are equal must have the same Any.hashCode value. Violating this contract can lead to incorrect behavior, such as duplicate elements being stored or elements becoming unreachable.
The Any.hashCode and Any.equals functions should be consistent and immutable during the lifetime of the element objects. Modifying an element in a way that changes its hash code or equality after it has been added to a HashSet may lead to the element becoming unreachable.
Performance characteristics
The performance characteristics below assume that the Any.hashCode function of elements distributes them uniformly across the hash table, minimizing collisions. A poor hash function that causes many collisions can degrade performance.
HashSet provides efficient implementation for common operations:
Iteration order
HashSet does not guarantee any particular order for iteration over its elements. The iteration order is unpredictable and may change when the set is rehashed (when elements are added or removed and the internal capacity is adjusted). Do not rely on any specific iteration order.
If a predictable iteration order is required, consider using LinkedHashSet, which maintains insertion order.
Usage guidelines
HashSet uses an internal data structure with a finite capacity - the maximum number of elements it can store before needing to grow. When the set becomes full, it automatically increases its capacity and performs rehashing - rebuilding the internal data structure to redistribute elements. Rehashing is a relatively expensive operation that temporarily impacts performance. When creating a HashSet, you can optionally provide an initial capacity value, which will be used to size the internal data structure, potentially avoiding rehashing operations as the set grows.
To optimize performance and memory usage:
If the number of elements is known in advance, use the constructor with initial capacity to avoid multiple rehashing operations as the set grows.
Ensure element objects have well-distributed Any.hashCode implementations to minimize collisions and maintain good performance.
Prefer addAll over multiple individual add calls when adding multiple elements.
Thread safety
HashSet is not thread-safe. If multiple threads access an instance concurrently and at least one thread modifies it, external synchronization is required.
Since Kotlin
1.3Parameters
the type of elements contained in the set. The mutable set is invariant in its element type.
A hash table implementation of MutableSet.
This class stores unique elements using a hash table data structure that provides fast lookups and ensures no duplicate elements are stored. It fully implements the MutableSet contract, providing all standard Set operations including lookup, insertion, and removal.
Null elements
HashSet accepts null as an element. Since elements are unique, at most one null element can exist in the set.
Element's hash code and equality contracts
HashSet relies on the Any.hashCode and Any.equals functions of elements to organize and locate them. Elements are considered equal if their Any.equals function returns true, and elements that are equal must have the same Any.hashCode value. Violating this contract can lead to incorrect behavior, such as duplicate elements being stored or elements becoming unreachable.
The Any.hashCode and Any.equals functions should be consistent and immutable during the lifetime of the element objects. Modifying an element in a way that changes its hash code or equality after it has been added to a HashSet may lead to the element becoming unreachable.
Performance characteristics
The performance characteristics below assume that the Any.hashCode function of elements distributes them uniformly across the hash table, minimizing collisions. A poor hash function that causes many collisions can degrade performance.
HashSet provides efficient implementation for common operations:
Iteration order
HashSet does not guarantee any particular order for iteration over its elements. The iteration order is unpredictable and may change when the set is rehashed (when elements are added or removed and the internal capacity is adjusted). Do not rely on any specific iteration order.
If a predictable iteration order is required, consider using LinkedHashSet, which maintains insertion order.
Usage guidelines
HashSet uses an internal data structure with a finite capacity - the maximum number of elements it can store before needing to grow. When the set becomes full, it automatically increases its capacity and performs rehashing - rebuilding the internal data structure to redistribute elements. Rehashing is a relatively expensive operation that temporarily impacts performance. When creating a HashSet, you can optionally provide an initial capacity value, which will be used to size the internal data structure, potentially avoiding rehashing operations as the set grows.
To optimize performance and memory usage:
If the number of elements is known in advance, use the constructor with initial capacity to avoid multiple rehashing operations as the set grows.
Ensure element objects have well-distributed Any.hashCode implementations to minimize collisions and maintain good performance.
Prefer addAll over multiple individual add calls when adding multiple elements.
Thread safety
HashSet is not thread-safe. If multiple threads access an instance concurrently and at least one thread modifies it, external synchronization is required.
Since Kotlin
1.8Parameters
the type of elements contained in the set. The mutable set is invariant in its element type.
A hash table implementation of MutableSet.
This class stores unique elements using a hash table data structure that provides fast lookups and ensures no duplicate elements are stored. It fully implements the MutableSet contract, providing all standard Set operations including lookup, insertion, and removal.
Null elements
HashSet accepts null as an element. Since elements are unique, at most one null element can exist in the set.
Element's hash code and equality contracts
HashSet relies on the Any.hashCode and Any.equals functions of elements to organize and locate them. Elements are considered equal if their Any.equals function returns true, and elements that are equal must have the same Any.hashCode value. Violating this contract can lead to incorrect behavior, such as duplicate elements being stored or elements becoming unreachable.
The Any.hashCode and Any.equals functions should be consistent and immutable during the lifetime of the element objects. Modifying an element in a way that changes its hash code or equality after it has been added to a HashSet may lead to the element becoming unreachable.
Performance characteristics
The performance characteristics below assume that the Any.hashCode function of elements distributes them uniformly across the hash table, minimizing collisions. A poor hash function that causes many collisions can degrade performance.
HashSet provides efficient implementation for common operations:
Iteration order
HashSet does not guarantee any particular order for iteration over its elements. The iteration order is unpredictable and may change when the set is rehashed (when elements are added or removed and the internal capacity is adjusted). Do not rely on any specific iteration order.
If a predictable iteration order is required, consider using LinkedHashSet, which maintains insertion order.
Usage guidelines
HashSet uses an internal data structure with a finite capacity - the maximum number of elements it can store before needing to grow. When the set becomes full, it automatically increases its capacity and performs rehashing - rebuilding the internal data structure to redistribute elements. Rehashing is a relatively expensive operation that temporarily impacts performance. When creating a HashSet, you can optionally provide an initial capacity value, which will be used to size the internal data structure, potentially avoiding rehashing operations as the set grows.
To optimize performance and memory usage:
If the number of elements is known in advance, use the constructor with initial capacity to avoid multiple rehashing operations as the set grows.
Ensure element objects have well-distributed Any.hashCode implementations to minimize collisions and maintain good performance.
Prefer addAll over multiple individual add calls when adding multiple elements.
Thread safety
HashSet is not thread-safe. If multiple threads access an instance concurrently and at least one thread modifies it, external synchronization is required.
Since Kotlin
1.8Parameters
the type of elements contained in the set. The mutable set is invariant in its element type.
Constructors
Creates a new empty HashSet.
Creates a new empty HashSet with the specified initial capacity.
Creates a new empty HashSet with the specified initial capacity and load factor.
Creates a new HashSet filled with the elements of the specified collection.
Creates a new empty HashSet.
Creates a new empty HashSet with the specified initial capacity.
Creates a new empty HashSet with the specified initial capacity and load factor.
Creates a new HashSet filled with the elements of the specified collection.
Creates a new empty HashSet.
Creates a new empty HashSet with the specified initial capacity.
Creates a new empty HashSet with the specified initial capacity and load factor.
Creates a new HashSet filled with the elements of the specified collection.
Creates a new empty HashSet.
Creates a new empty HashSet with the specified initial capacity.
Creates a new empty HashSet with the specified initial capacity and load factor.
Creates a new HashSet filled with the elements of the specified collection.
Properties
Returns an IntRange of the valid indices for this collection.
Functions
Adds the specified element to the set.
Adds the specified element to the collection.
Adds the specified element to the set.
Adds the specified element to the set.
Adds the specified element to the set.
Adds all of the elements of the specified collection to this collection.
Adds all of the elements of the specified collection to this collection.
Adds all of the elements of the specified collection to this collection.
Adds all of the elements of the specified collection to this collection.
Adds all of the elements of the specified collection to this collection.
Adds all elements of the given elements array to this MutableCollection.
Adds all elements of the given elements collection to this MutableCollection.
Adds all elements of the given elements sequence to this MutableCollection.
Returns a view with the JsReadonlySet methods to consume it in JavaScript as a regular readonly Set. Structural changes in the base set are synchronized with the view.
Returns a view with the JsSet methods to consume it in JavaScript as a regular Set. Structural changes in the base set are synchronized with the view, and vice versa.
Returns a Map containing the elements from the given collection indexed by the key returned from keySelector function applied to each element.
Returns a Map containing the values provided by valueTransform and indexed by keySelector functions applied to elements of the given collection.
Populates and returns the destination mutable map with key-value pairs, where key is provided by the keySelector function applied to each element of the given collection and value is the element itself.
Populates and returns the destination mutable map with key-value pairs, where key is provided by the keySelector function and and value is provided by the valueTransform function applied to elements of the given collection.
Populates and returns the destination mutable map with key-value pairs for each element of the given collection, where key is the element itself and value is provided by the valueSelector function applied to that key.
Returns an average value of elements in the collection.
Checks if the specified element is contained in this collection.
Checks if the specified element is contained in this collection.
Checks if the specified element is contained in this collection.
Checks if the specified element is contained in this collection.
Checks if all elements in the specified collection are contained in this collection.
Checks if all elements in the specified collection are contained in this collection.
Checks if all elements in the specified collection are contained in this collection.
Checks if all elements in the specified collection are contained in this collection.
Checks if all elements in the specified collection are contained in this collection.
Checks if all elements in the specified collection are contained in this collection.
Appends all elements matching the given predicate to the given destination.
Returns a list containing all elements that are instances of specified type parameter R.
Appends all elements that are instances of specified type parameter R to the given destination.
Appends all elements that are instances of specified class to the given destination.
Appends all elements that are not null to the given destination.
Appends all elements not matching the given predicate to the given destination.
Returns a single list of all elements yielded from results of transform function being invoked on each element of original collection.
Returns a single list of all elements yielded from results of transform function being invoked on each element of original collection.
Returns a single list of all elements yielded from results of transform function being invoked on each element and its index in the original collection.
Appends all elements yielded from results of transform function being invoked on each element and its index in the original collection, to the given destination.
Appends all elements yielded from results of transform function being invoked on each element of original collection, to the given destination.
Appends all elements yielded from results of transform function being invoked on each element of original collection, to the given destination.
Implements KonanSet.getElement(). Used for ObjC interop.
Implements KonanSet.getElement(). Used for ObjC interop.
Implements KonanSet.getElement(). Used for ObjC interop.
Groups elements of the original collection by the key returned by the given keySelector function applied to each element and returns a map where each group key is associated with a list of corresponding elements.
Groups values returned by the valueTransform function applied to each element of the original collection by the key returned by the given keySelector function applied to the element and returns a map where each group key is associated with a list of corresponding values.
Groups elements of the original collection by the key returned by the given keySelector function applied to each element and puts to the destination map each group key associated with a list of corresponding elements.
Groups values returned by the valueTransform function applied to each element of the original collection by the key returned by the given keySelector function applied to the element and puts to the destination map each group key associated with a list of corresponding values.
Returns true if the collection is empty (contains no elements), false otherwise.
Returns true if the collection is empty (contains no elements), false otherwise.
Returns true if the collection is empty (contains no elements), false otherwise.
Returns true if the collection is empty (contains no elements), false otherwise.
Returns true if the collection is not empty.
Returns true if this nullable collection is either null or empty.
Returns an iterator over the elements of this object.
Returns an iterator over the elements of this object.
Returns an iterator over the elements of this object.
Returns an iterator over the elements of this object.
Returns an iterator over the elements of this object.
Appends the string from all the elements separated using separator and using the given prefix and postfix if supplied.
Creates a string from all the elements separated using separator and using the given prefix and postfix if supplied.
Applies the given transform function to each element and its index in the original collection and appends only the non-null results to the given destination.
Applies the given transform function to each element and its index in the original collection and appends the results to the given destination.
Applies the given transform function to each element in the original collection and appends only the non-null results to the given destination.
Returns the largest element.
Returns the largest value among all values produced by selector function applied to each element in the collection.
Returns the largest value among all values produced by selector function applied to each element in the collection or null if the collection is empty.
Returns the largest value according to the provided comparator among all values produced by selector function applied to each element in the collection or null if the collection is empty.
Returns the first element having the largest value according to the provided comparator or null if there are no elements.
Returns the smallest element.
Returns the smallest value among all values produced by selector function applied to each element in the collection.
Returns the smallest value among all values produced by selector function applied to each element in the collection or null if the collection is empty.
Returns the smallest value according to the provided comparator among all values produced by selector function applied to each element in the collection or null if the collection is empty.
Returns a list containing all elements of the original collection without the first occurrence of the given element.
Returns a list containing all elements of the original collection except the elements contained in the given elements array.
Returns a list containing all elements of the original collection except the elements contained in the given elements collection.
Returns a list containing all elements of the original collection except the elements contained in the given elements sequence.
Returns a set containing all elements of the original set except the given element.
Returns a set containing all elements of the original set except the elements contained in the given elements array.
Returns a set containing all elements of the original set except the elements contained in the given elements collection.
Returns a set containing all elements of the original set except the elements contained in the given elements sequence.
Removes a single instance of the specified element from this mutable collection.
Removes all elements contained in the given elements array from this mutable collection.
Removes all elements contained in the given elements collection from this mutable collection.
Removes all elements contained in the given elements sequence from this mutable collection.
Returns the first element having the smallest value according to the provided comparator or null if there are no elements.
Returns a list containing all elements of the original collection and then the given element.
Returns a list containing all elements of the original collection and then all elements of the given elements array.
Returns a list containing all elements of the original collection and then all elements of the given elements collection.
Returns a list containing all elements of the original collection and then all elements of the given elements sequence.
Returns a set containing all elements of the original set and then the given element if it isn't already in this set.
Returns a set containing all elements of the original set and the given elements array, which aren't already in this set.
Returns a set containing all elements of the original set and the given elements collection, which aren't already in this set. The returned set preserves the element iteration order of the original set.
Returns a set containing all elements of the original set and the given elements sequence, which aren't already in this set.
Adds the specified element to this mutable collection.
Adds all elements of the given elements array to this mutable collection.
Adds all elements of the given elements collection to this mutable collection.
Adds all elements of the given elements sequence to this mutable collection.
Returns a random element from this collection, or null if this collection is empty.
Returns a random element from this collection using the specified source of randomness, or null if this collection is empty.
Removes a single instance of the specified element from this collection, if the collection contains it.
Removes a single instance of the specified element from this collection, if the collection contains it.
Removes a single instance of the specified element from this collection, if the collection contains it.
Removes a single instance of the specified element from this collection, if the collection contains it.
Removes a single instance of the specified element from this collection, if the collection contains it.
Removes a single instance of the specified element from this collection, if it is present.
Removes all of this collection's elements that are also contained in the specified collection.
Removes all of this collection's elements that are also contained in the specified collection.
Removes all of this collection's elements that are also contained in the specified collection.
Removes all of this collection's elements that are also contained in the specified collection.
Removes all of this collection's elements that are also contained in the specified collection.
Removes all elements from this MutableCollection that are also contained in the given elements array.
Removes all of this collection's elements that are also contained in the specified collection.
Removes all elements from this MutableCollection that are also contained in the given elements collection.
Removes all elements from this MutableCollection that are also contained in the given elements sequence.
Removes all elements from this MutableIterable that match the given predicate.
Returns an original collection containing all the non-null elements, throwing an IllegalArgumentException if there are any null elements.
Retains only the elements in this collection that are contained in the specified collection.
Retains only the elements in this collection that are contained in the specified collection.
Retains only the elements in this collection that are contained in the specified collection.
Retains only the elements in this collection that are contained in the specified collection.
Retains only the elements in this collection that are contained in the specified collection.
Retains only elements of this MutableCollection that are contained in the given elements array.
Retains only the elements in this collection that are contained in the specified collection.
Retains only elements of this MutableCollection that are contained in the given elements collection.
Retains only elements of this MutableCollection that are contained in the given elements sequence.
Retains only elements of this MutableIterable that match the given predicate.
Returns a list containing successive accumulation values generated by applying operation from left to right to each element, its index in the original collection and current accumulator value that starts with initial value.
Returns a list containing successive accumulation values generated by applying operation from left to right to each element and current accumulator value that starts with the first element of this collection.
Returns a list containing successive accumulation values generated by applying operation from left to right to each element, its index in the original collection and current accumulator value that starts with the first element of this collection.
Returns a list containing successive accumulation values generated by applying operation from left to right to each element, its index in the original collection and current accumulator value that starts with initial value.
Returns a new list with the elements of this collection randomly shuffled.
Returns a new list with the elements of this list randomly shuffled using the specified random instance as the source of randomness.
Returns a new list with the elements of this collection randomly shuffled.
Returns a new list with the elements of this collection randomly shuffled.
Returns a new list with the elements of this list randomly shuffled using the specified random instance as the source of randomness.
Returns a new list with the elements of this collection randomly shuffled.
Returns a new list with the elements of this collection randomly shuffled.
Returns the single element, or throws an exception if the collection is empty or has more than one element.
Returns the single element matching the given predicate, or throws exception if there is no or more than one matching element.
Returns single element, or null if the collection is empty or has more than one element.
Returns the single element matching the given predicate, or null if element was not found or more than one element was found.
Returns a list of all elements sorted descending according to their natural sort order.
Returns a list of all elements sorted according to the specified comparator.
Returns the sum of all elements in the collection.
Returns the sum of all elements in the collection.
Returns the sum of all values produced by selector function applied to each element in the collection.
Returns the sum of all values produced by selector function applied to each element in the collection.
Returns the sum of all values produced by selector function applied to each element in the collection.
Returns new array of type Array<Any?> with the elements of this collection.
Fills the provided array or creates new array of the same type and fills it with the elements of this collection.
Returns new array of type Array<Any?> with the elements of this collection.
Fills the provided array or creates new array of the same type and fills it with the elements of this collection.
Returns new array of type Array<Any?> with the elements of this collection.
Fills the provided array or creates new array of the same type and fills it with the elements of this collection.
Returns new array of type Array<Any?> with the elements of this collection.
Fills the provided array or creates new array of the same type and fills it with the elements of this collection.
Returns an array of Boolean containing all of the elements of this collection.
Returns an array of Byte containing all of the elements of this collection.
Returns an array of Char containing all of the elements of this collection.
Appends all elements to the given destination collection.
Returns an array of Double containing all of the elements of this collection.
Returns an array of Float containing all of the elements of this collection.
Returns an array of Int containing all of the elements of this collection.
Returns an array of Long containing all of the elements of this collection.
Returns a new map containing all key-value pairs from the given collection of pairs.
Populates and returns the destination mutable map with key-value pairs from the given collection of pairs.
Returns a new MutableList filled with all elements of this collection.
Returns a new MutableSet containing all distinct elements from the given collection.
Returns an array of Short containing all of the elements of this collection.
Returns a new SortedSet of all elements.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns an array of UByte containing all of the elements of this collection.
Returns an array of UInt containing all of the elements of this collection.
Returns an array of ULong containing all of the elements of this collection.
Returns an array of UShort containing all of the elements of this collection.
Returns a list of snapshots of the window of the given size sliding along this collection with the given step, where each snapshot is a list.
Returns a list of results of applying the given transform function to an each list representing a view over the window of the given size sliding along this collection with the given step.
Returns a lazy Iterable that wraps each element of the original collection into an IndexedValue containing the index of that element and the element itself.
Returns a list of pairs built from the elements of this collection and the other array with the same index. The returned list has length of the shortest collection.
Returns a list of pairs built from the elements of this collection and other collection with the same index. The returned list has length of the shortest collection.
Returns a list of values built from the elements of this collection and the other array with the same index using the provided transform function applied to each pair of elements. The returned list has length of the shortest collection.
Returns a list of values built from the elements of this collection and the other collection with the same index using the provided transform function applied to each pair of elements. The returned list has length of the shortest collection.
Returns a list of pairs of each two adjacent elements in this collection.
Returns a list containing the results of applying the given transform function to an each pair of two adjacent elements in this collection.