当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart Object.hashAllUnordered用法及代码示例


dart:core 库中Object.hashAllUnordered 方法的用法介绍如下。

用法:

@Since("2.14")   

int hashAllUnordered(
   Iterable<Object?> objects   
)
      @Since("2.14")

为对象集合创建组合哈希码。

通过以与顺序无关的方式对每个元素的 Object.hashCode 进行数字组合,即使它们是 null 中的元素,也会为 objects 中的元素计算哈希码。

unorderedHashAll({o}) 的结果不是 o.hashCode

例子:

bool setEquals<T>(Set<T> set1, Set<T> set2) {
  var hashCode1 = Object.unorderedHashAll(set1);
  var hashCode2 = Object.unorderedHashAll(set2);
  if (hashCode1 != hashCode2) return false;
  // Compare elements ...
}

在单个程序的执行过程中使用具有相同哈希码的对象再次调用该函数时,计算值将保持一致,即使对象不一定具有相同的顺序,

此函数生成的哈希值为not,保证在同一程序的不同运行中保持稳定。使用的确切算法可能在不同平台之间或不同版本的平台库之间有所不同,并且可能取决于每次程序运行时更改的值

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 hashAllUnordered method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。