Метод retainWhere
Метод retainWhere удаляет из множества
все элементы, которые не удовлетворяют условию,
переданному в параметре. В параметр мы передаем
функцию-предикат, которая принимает элемент
множества и возвращает true, если элемент
нужно оставить, и false, если его следует удалить.
Метод изменяет исходное множество и не возвращает
результат.
Синтаксис
set.retainWhere(function)
Пример
Давайте оставим в множестве только числа,
которые больше 2:
void main()
{
Set<int> set = {1, 2, 3, 4, 5};
set.retainWhere((int element) {
return element > 2;
});
print(set);
}
Результат выполнения кода:
{3, 4, 5}
Пример
Давайте оставим в множестве только строки,
длина которых больше 1:
void main()
{
Set<String> set = {'a', 'ab', 'abc', 'd', 'de'};
set.retainWhere((String element) {
return element.length > 1;
});
print(set);
}
Результат выполнения кода:
{ab, abc, de}
Пример
Давайте удалим все четные числа из множества:
void main()
{
Set<int> set = {1, 2, 3, 4, 5};
set.retainWhere((int element) {
return element.isOdd;
});
print(set);
}
Результат выполнения кода:
{1, 3, 5}
Смотрите также
-
метод
removeWhere,
который удаляет элементы по условию -
метод
retainAll,
который оставляет только указанные элементы -
метод
remove,
который удаляет конкретный элемент -
метод
contains,
который проверяет наличие элемента