dart:collection
库中HashSet构造函数
的用法介绍如下。
用法:
HashSet<E>(
{bool equals(
E,
E
)?,
int hashCode(
E
)?,
bool isValidKey(
dynamic
)?}
)
使用提供的 equals
作为相等性创建一个哈希集。
提供的 equals
必须定义一个稳定的等价关系,并且 hashCode
必须与 equals
一致。
如果省略 equals
或 hashCode
,则该集合使用元素的固有 Object.== 和 Object.hashCode 。
如果您提供 equals
和 hashCode
之一,您通常也应该提供另一个。
某些equals
或hashCode
函数可能不适用于所有对象。如果提供了 isValidKey
,则它用于检查不一定是 E
实例的潜在元素,例如 contains 的参数类型为 Object?
。如果 isValidKey
返回 false
,则对于对象,不调用 equals
和 hashCode
函数,并且假定映射中没有与该对象相等的键。 isValidKey
函数默认只测试对象是否是 E
的实例,这意味着:
HashSet<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 。可以使用 HashSet.identity 直接创建这样的Map。
相关用法
- Dart HashSet用法及代码示例
- Dart HashSet.of用法及代码示例
- Dart HashSet.from用法及代码示例
- Dart HashSet.identity用法及代码示例
- Dart HashMap.from用法及代码示例
- Dart HashMap.fromEntries用法及代码示例
- Dart HashMap.fromIterables用法及代码示例
- Dart HashMap用法及代码示例
- Dart HashMap.of用法及代码示例
- Dart HashMap.fromIterable用法及代码示例
- Dart HashMap构造函数用法及代码示例
- Dart HashMap.identity用法及代码示例
- Dart HttpRequest.postFormData用法及代码示例
- Dart HttpOverrides用法及代码示例
- Dart HtmlCollection.last用法及代码示例
- Dart HeaderValue用法及代码示例
- Dart HttpClient.findProxy用法及代码示例
- Dart HttpClientRequest用法及代码示例
- Dart HtmlEscape用法及代码示例
- Dart HttpServer.defaultResponseHeaders用法及代码示例
- Dart HttpClient用法及代码示例
- Dart HtmlEscapeMode用法及代码示例
- Dart HtmlCollection.elementAt用法及代码示例
- Dart HttpRequest.request用法及代码示例
- Dart HttpClient.findProxyFromEnvironment用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 HashSet<E> constructor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。