Swift – Find Maximum in Array

To find the maximum element of an Array in Swift, call max() method on this Array. Array.max() returns the maximum element by comparison.

We can also provide a predicate to max() method, by which the comparison happens between elements.

The following is a quick code snippet to find the maximum element of an Array array.

</>
Copy
if let result = array.max() {
    //result holds the maximum value
} else {
    //array is empty. no maximum element.
}

Examples

In the following program, we take an array of numbers, and find the maximum element of this array using Array.max() method.

main.swift

</>
Copy
let nums = [6, 8, 4, 2, 5]
if let result = nums.max() {
    print("Maximum element : \(result)")
} else {
    print("Array is empty. No maximum element.")
}

Output

Maximum element : 8
Program ended with exit code: 0

Now, let us take an array of strings, and find the maximum element. By default, comparison between two strings happen lexicographically, meaning, which ever comes first in a dictionary is the smallest.

main.swift

</>
Copy
let names = ["apple", "banana", "mango", "fig", "cherry"]
if let result = names.max() {
    print("Maximum element : \(result)")
} else {
    print("Array is empty. No maximum element.")
}

Output

Maximum element : mango
Program ended with exit code: 0

We already mentioned that we can give a predicate to max() method. In the above program, let us provide a predicate to max() function such that max() returns a string with the largest length.

main.swift

</>
Copy
let names = ["apple", "banana", "mango", "fig", "cherry"]
if let result = names.max(by: {a, b in a.count < b.count}) {
    print("Maximum element : \(result)")
} else {
    print("Array is empty. No maximum element.")
}

Output

Maximum element : banana
Program ended with exit code: 0

Conclusion

In this Swift Tutorial, we learned how to find the maximum element of an Array in Swift programming.