Map#updateOrInsert
Bradley Farias - GoDaddy
Map#setIfMissing(key, () => value);
~=
if (!map.has(key))� map.set(key, (() => value)());
2 lookups
Other Langs
Map#update(key, old => updated)
~=
old = map.get(key);�updated = (old => updated)(old);�map.set(key, updated);
2 lookups
Other Langs
Example code with both
if (!map.has(key)) {� map.set(key, defaultValue);�}�map.get(key).doThing();
3 lookups
Map#updateOrInsert(key, old => updated, () => value) => updated | value
Why does this matter?