
Sort* instead of sorted* in the names of all sorting functions: sort(), sortDescending(), sortBy(), and so on.ĪsReversed() called on a mutable list returns another mutable list which is a reversed view of the original list. The in-place sorting functions have similar names to the functions that apply to read-only lists, but without the ed/d suffix: When you apply such an operation to a list instance, it changes the order of elements in that exact instance.

For mutable lists, the standard library offers similar extension functions that perform the same ordering operations in place. In Collection Ordering, we describe operations that retrieve collection elements in specific orders. Val numbers = mutableListOf(1, 2, 3, 4, 3) You can also specify an index range to search in: in this case, the function searches only between two provided indices. If there is more than one element with the given value, the search can return any of their indices.

If such an element exists, the function returns its index otherwise, it returns (-insertionPoint - 1) where insertionPoint is the index where this element should be inserted so that the list remains sorted. To search an element in a sorted list, call the binarySearch() function passing the value as an argument. It works significantly faster than other built-in search functions but requires the list to be sorted in ascending order according to a certain ordering: natural or another one provided in the function parameter.

There is one more way to search elements in lists – binary search.
