contains method
Whether the collection contains an element equal to element
.
This operation will check each element in order for being equal to
element
, unless it has a more efficient way to find an element
equal to element
.
Stops iterating on the first equal element.
The equality used to determine whether element
is equal to an element of
the iterable defaults to the Object.== of the element.
Some types of iterable may have a different equality used for its elements.
For example, a Set may have a custom equality
(see Set.identity) that its contains
uses.
Likewise the Iterable
returned by a Map.keys call
should use the same equality that the Map
uses for keys.
Example:
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
Implementation
@override
// ignore: avoid_renaming_method_parameters
bool contains(covariant int value) {
bool inRange;
if (start <= endInclusive) {
inRange = start <= value && value <= endInclusive;
} else {
inRange = endInclusive <= value && value <= start;
}
if (!inRange) return false;
return _differenceModulo(value, start, stepSize) == 0;
}