當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。