Метод whereType
Метод whereType класса Iterable возвращает
новую ленивую коллекцию, в которую попадают только
те элементы исходной коллекции, которые имеют
указанный тип. В параметр метода мы передаем
тип, по которому нужно отфильтровать элементы.
Элементы, не соответствующие этому типу, в результат
не попадают. Исходная коллекция при этом не изменяется.
Синтаксис
iterable.whereType<T>()
Пример
Давайте отфильтруем из коллекции, содержащей
разнотипные элементы, только числа типа int:
void main()
{
Iterable items = [1, 'a', 2, 'b', 3];
Iterable res = items.whereType<int>();
print(res.toList());
}
Результат выполнения кода:
[1, 2, 3]
Пример
Давайте отфильтруем только строки из коллекции, содержащей как строки, так и числа:
void main()
{
Iterable items = [1, 'a', 2, 'b', 3];
Iterable res = items.whereType<String>();
print(res.toList());
}
Результат выполнения кода:
["a", "b"]
Пример
Давайте применим метод whereType к списку,
в котором все элементы уже одного типа, и убедимся,
что коллекция не изменилась:
void main()
{
Iterable items = [1, 2, 3, 4, 5];
Iterable res = items.whereType<int>();
print(res.toList());
}
Результат выполнения кода:
[1, 2, 3, 4, 5]