Swift Dictionary max()

The max() method returns the maximum key-value pair in the dictionary.

Example

let studentsHeights = ["Sabby": 180.6, "Dabby": 170.3, "Cathy": 156]

// compare the values and return maximum key-value pair let maximumHeight = studentsHeights.max { $0.value < $1.value }
print(maximumHeight!) // Output: (key: "Sabby", value: 180.6)

max() Syntax

The syntax of the dictionary max() method is:

dictionary.max {operator}

Here, dictionary is an object of the dictionary class.


max() Parameters

The max() method can take one parameter:

  • operator - a closure that accepts a condition and returns a Bool value.

max() Return Value

The max() method returns the maximum element of dictionary.

Note: If dictionary is empty, the method returns nil.


Example 1: Swift dictionary max()

let fruitPrice = ["Grapes": 2.5, "Apricot": 3.5 , "Pear": 1.6]

// compares the values and return maximum key-value pair let maximumPrice = fruitPrice.max { $0.value < $1.value }
print(maximumPrice!)

Output

(key: "Apricot", value: 3.5)

In the above example, we have passed the closure to find the maximum key-value pair by comparing all the values in fruitPrice. Notice the closure definition,

{ $0.value < $1.value }

This is a short-hand closure that checks whether the first value of fruitPrice is less than the second value or not.

$0 and $1 is the shortcut to mean the first and second parameters passed into the closure.

Since the max() method is optional, we have force unwrapped the optional using !.


Example 2: Compare Keys and Return max Value

let fruitPrice = ["Grapes": 2.5, "Apricot": 3.5 , "Pear": 1.6]

// compares the keys and return maximum key-value pair let maximumPrice = fruitPrice.max { $0.key < $1.key }
print(maximumPrice!)

Output

(key: "Pear", value: 1.6)

Here, we have used the key property to compare all the keys of the fruitPrice dictionary

{ $0.key < $1.key }