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