dart:collection
庫中LinkedHashSet構造函數
的用法介紹如下。
用法:
LinkedHashSet<E>(
{bool equals(
E,
E
)?,
int hashCode(
E
)?,
bool isValidKey(
dynamic
)?}
)
使用提供的 equals
和 hashCode
創建 insertion-ordered 哈希集。
提供的 equals
必須定義一個穩定的等價關係,並且 hashCode
必須與 equals
一致。
如果您提供 equals
和 hashCode
之一,您通常也應該提供另一個。
某些equals
或hashCode
函數可能不適用於所有對象。如果提供了 isValidKey
,則它用於檢查不一定是 E
實例的潛在元素,例如 contains 的參數類型為 Object?
。如果 isValidKey
返回 false
,則對於對象,不調用 equals
和 hashCode
函數,並且假定映射中沒有與該對象相等的鍵。 isValidKey
函數默認隻測試對象是否是 E
的實例,這意味著:
LinkedHashSet<int>(equals: (int e1, int e2) => (e1 - e2) % 5 == 0,
hashCode: (int e) => e % 5);
不需要 isValidKey
參數,因為它默認隻接受 int
被 equals
和 hashCode
接受的值。
如果沒有提供 equals
、 hashCode
和 isValidKey
,則默認的 isValidKey
將接受所有值。假定默認的相等和哈希碼操作適用於所有對象。
同樣,如果 equals
是 identical , hashCode
是 identityHashCode 並且 isValidKey
被省略,則結果集是基於身份的,並且 isValidKey
默認接受所有 key 。可以使用 LinkedHashSet.identity 直接創建這樣的Map。
相關用法
- Dart LinkedHashSet.from用法及代碼示例
- Dart LinkedHashSet.identity用法及代碼示例
- Dart LinkedHashSet用法及代碼示例
- Dart LinkedHashSet.of用法及代碼示例
- Dart LinkedHashMap用法及代碼示例
- Dart LinkedHashMap.from用法及代碼示例
- Dart LinkedHashMap.fromEntries用法及代碼示例
- Dart LinkedHashMap.fromIterables用法及代碼示例
- Dart LinkedHashMap.identity用法及代碼示例
- Dart LinkedHashMap.fromIterable用法及代碼示例
- Dart LinkedHashMap.of用法及代碼示例
- Dart LinkedHashMap構造函數用法及代碼示例
- Dart LinkedList.isEmpty用法及代碼示例
- Dart LinkedList用法及代碼示例
- Dart Link.resolveSymbolicLinks用法及代碼示例
- Dart Link.resolveSymbolicLinksSync用法及代碼示例
- Dart LineSplitter用法及代碼示例
- Dart ListMixin.expand用法及代碼示例
- Dart List.first用法及代碼示例
- Dart List.sort用法及代碼示例
- Dart ListMixin.contains用法及代碼示例
- Dart ListQueue.of用法及代碼示例
- Dart ListQueue.contains用法及代碼示例
- Dart ListMixin.join用法及代碼示例
- Dart ListMixin.setAll用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 LinkedHashSet<E> constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。