method
putIfAbsent

V putIfAbsent(
K key,
V ifAbsent()
)

Look up the value of [key], or add a new value if it isn't there.

Returns the value associated to [key], if there is one. Otherwise calls [ifAbsent] to get a new value, associates [key] to that value, and then returns the new value.

Map<String, int> scores = {'Bob': 36}; for (var key in ['Bob', 'Rohan', 'Sophena']) { scores.putIfAbsent(key, () => key.length); } scores['Bob']; // 36 scores['Rohan']; // 5 scores['Sophena']; // 7

Calling [ifAbsent] must not add or remove keys from the map.