contains 方法
- Object? element
override
判断集合中是否包含与 element
相等的元素。
此操作将按顺序检查每个元素是否等于 element
,除非有更高效的方式来找到等于 element
的元素。在找到第一个相等的元素时停止迭代。
用于判断 element
是否等于迭代器中元素的等价性默认为元素的 Object.==。
某些类型的可迭代对象可能使用不同的等价性来处理其元素。例如,一个 Set 可能有一个自定义的等价性(参见 Set.identity),其 contains
方法使用这个等价性。同样,Map.keys 调用返回的 Iterable
应使用与 Map
为键使用的相同等价性。
示例
final gasPlanets = <int, String>{1: 'Jupiter', 2: 'Saturn'};
final containsOne = gasPlanets.keys.contains(1); // true
final containsFive = gasPlanets.keys.contains(5); // false
final containsJupiter = gasPlanets.values.contains('Jupiter'); // true
final containsMercury = gasPlanets.values.contains('Mercury'); // false
实现
bool contains(Object? element) {
return _validKey(element) && _splay(element as E) == 0;
}