max(count:sortedBy:)
Returns the largest elements of this collection, as sorted by the given predicate.
func max(count: Int, sortedBy areInIncreasingOrder: (Element, Element) throws -> Bool) rethrows -> [Element]
Parameters
- count
The number of elements to return. If
count
is greater than the number of elements in this collection, all of the collection’s elements are returned.- areInIncreasingOrder
A predicate that returns
true
if its first argument should be ordered before its second argument; otherwise,false
.
Returns
An array of the largest count
elements of this collection, sorted according to areInIncreasingOrder
.
This example partially sorts an array of integers to retrieve its three largest values:
let numbers = [7, 1, 6, 2, 8, 3, 9]
let largestThree = numbers.max(count: 3, sortedBy: <)
// [7, 8, 9]
If you need to sort a collection but only need to access its largest elements, using this method can give you a performance boost over sorting the entire collection. The order of equal elements is guaranteed to be preserved.