作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在编辑器提示中,您将获得:
scores.putIfAbsent(key, () => numValue);
myMap.putIfAbsent(9, () => 'Planned');
yourMap.putIfAbsent('foo', () => true);
最佳答案
putIfAbsent
函数带有两个参数,即key和一个函数,如果需要,该函数将返回新值。
参见https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart-core.Map#id_putIfAbsent
第二个参数是返回新值的函数,而不是返回值本身的原因是,如果映射已经包含键,则创建值有时是不可取的。
考虑以下示例:
var map = ...;
var key = ...;
map.putIfAbsent(key, new Value());
map
已经包含
key
,则根本不使用新值对象。如果Value对象分配对象比较繁琐或昂贵,则这是不希望有的副作用。
var map = ...;
var key = ...;
map.putIfAbsent(key, () => new Value());
key
中不存在
map
且需要该值时,它才会执行该功能。
() => ...
的表达式是函数表达式的简写形式,返回第一个表达式的结果。一个小例子:
var function = () => "some string";
var str = function();
print(str);
关于dart - Dart Map语法: putIfAbsent ('FirstKey' ,()=> 1);什么是: ()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25227426/
我正在尝试为我的树状图(内存)使用 firstKey() 方法。我的代码如下所示: import java.util.*; //Code in the middle. System.out.print
在编辑器提示中,您将获得: scores.putIfAbsent(key, () => numValue); 我正在使用以下命令向我的 map 添加单个“行”: myMap.putIfAbsent(9
我是一名优秀的程序员,十分优秀!