From 5826da67218d552bb920b823e7b3c105b66f1d0b Mon Sep 17 00:00:00 2001 From: William Hesse Date: Wed, 18 Mar 2020 18:07:30 +0100 Subject: [PATCH] Replace a use of putIfAbsent with ??= (dart-lang/collection#125) Because it avoids using a closure, it seems that ??= [] can be used with better performance than putIfAbsent in groupBy. --- pkgs/collection/lib/src/functions.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/collection/lib/src/functions.dart b/pkgs/collection/lib/src/functions.dart index 0f71548a..5fbef305 100644 --- a/pkgs/collection/lib/src/functions.dart +++ b/pkgs/collection/lib/src/functions.dart @@ -49,8 +49,7 @@ Map mergeMaps(Map map1, Map map2, Map> groupBy(Iterable values, T Function(S) key) { var map = >{}; for (var element in values) { - var list = map.putIfAbsent(key(element), () => []); - list.add(element); + (map[key(element)] ??= []).add(element); } return map; }