Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtOpVlLs 71 of 113 menu
◀ ▶

Список объектов класса-значения в Dart

Список объектов вы уже собирали из обычных классов - литерал списка работает так же для класса-значения. Каждый элемент - отдельная запись с теми же полями:

class Post { final String title; final int likes; const Post(this.title, this.likes); @override String toString() => "Post($title, $likes)"; }

Поместим объекты в список:

var team = [ Post("Ann", 25), Post("Bob", 30), ]; print(team.length);

Элементы списка можно фильтровать и сортировать стандартными методами, обращаясь к полям по точке или в функции с параметром:

class Score { final String name; final int pts; Score(this.name, this.pts); @override String toString() => "Score($name, $pts)"; }

Поместим объекты в список:

var rows = [ Score("Ann", 10), Score("Bob", 7), Score("Cy", 12), ]; var top = rows.where((row) => row.pts >= 10).toList(); print(top.length);

При обходе удобно выводить каждую запись целиком - toString сработает для каждого элемента:

class Task { final String title; final bool done; Task(this.title, this.done); @override String toString() => "Task($title, $done)"; }

Поместим объекты в список:

var jobs = [ Task("read", true), Task("write", false), ]; for (var job in jobs) { print(job); }

Сделайте класс Pet с полями name и kind. Дан список:

var pets = [ Pet("Rex", "dog"), Pet("Mia", "cat"), ];

Выведите на экран количество элементов в списке pets.

Сделайте класс Grade с полями subject и mark. Дан список:

var sheet = [ Grade("math", 5), Grade("art", 3), Grade("math", 4), ];

Отфильтруйте список sheet: оставьте только записи с mark >= 4 и выведите на экран их число.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить