小编Ale*_*hov的帖子

Dart:我应该更喜欢迭代 Map.entries 还是 Map.values?

每次我需要迭代MapDart中 a 的值时,我都会考虑这个循环将产生的成本,就复杂性和产生的垃圾量而言。有两种方法可以迭代 a Map:Map.values和的值Map.entries。例如:

Map<String, Person> people;

int olderThan(int age) {
  int result = 0;
  for(Person p in people.values)
    if(p.age > age) result++;
  return result;
}

int olderThan2(int age) {
  int result = 0;
  for(MapEntry<String, Person> me in people.entries)
    if(me.value.age > age) result++;
  return result;
}

// Which one is faster: olderThan or olderThan2?

Run Code Online (Sandbox Code Playgroud)

如果Map在内部将其值存储为MapEntry对象,则可能entriesvalues. 的实现细节Map深埋在 Dart 库中,所以我想知道是否有人有这方面的知识并且可以阐明这个主题。

我知道这可以Map.entries让您访问密钥,但我说的是不需要使用条目密钥的情况。我也明白Map …

dart

27
推荐指数
2
解决办法
2万
查看次数

标签 统计

dart ×1