Поиск…


Создание нового списка

Списки могут быть созданы несколькими способами.

Рекомендуемый способ - использовать литерал List :

var vegetables = ['broccoli', 'cabbage'];

Может также использоваться конструктор List :

var fruits = new List();

Если вы предпочитаете более сильный ввод текста, вы также можете указать параметр типа одним из следующих способов:

var fruits = <String>['apples', 'oranges'];
var fruits = new List<String>();

Для создания небольшого расширяемого списка, либо пустого, либо содержащего некоторые известные начальные значения, предпочтительной является литеральная форма. Существуют специальные конструкторы для других видов списков:

var fixedLengthList1 = new List(8);
var fixedLengthList2 = new List.filled(8, "initial text");
var computedValues = new List.generate(8, (n) => "x" * n);
var fromIterable = new List<String>.from(computedValues.getRange(2, 5));

См. Также Руководство по стилю Эффективного Дарта о коллекциях .

Создание нового набора

Наборы могут быть созданы с помощью конструктора:

var ingredients = new Set();
ingredients.addAll(['gold', 'titanium', 'xenon']);

Создание новой карты

Карты могут быть созданы несколькими способами.

Используя конструктор, вы можете создать новую карту следующим образом:

var searchTerms = new Map();

Типы ключа и значения также могут быть определены с помощью дженериков:

var nobleGases = new Map<int, String>();
var nobleGases = <int, String>{};

В противном случае карты могут быть созданы с использованием символа карты:

var map = {
    "key1": "value1",
    "key2": "value2"
};

Сопоставьте каждый элемент в коллекции.

Все объекты коллекции содержат метод map который принимает Function как аргумент, который должен принимать один аргумент. Это возвращает Iterable поддерживаемый коллекцией. Когда Iterable итерируется, каждый шаг вызывает функцию с новым элементом коллекции, а результат вызова становится следующим элементом итерации.

Вы можете снова перевернуть Iterable в коллекцию с помощью методов Iterable.toSet() или Iterable.toList() или с помощью конструктора коллекции, который принимает итерируемый, например Queue.from или List.from .

Пример:

main() {
  var cats = [
    'Abyssinian',
    'Scottish Fold',
    'Domestic Shorthair'
  ];

  print(cats); // [Abyssinian, Scottish Fold, Domestic Shorthair]

  var catsInReverse =
  cats.map((String cat) {
    return new String.fromCharCodes(cat.codeUnits.reversed);
  })
  .toList(); // [nainissybA, dloF hsittocS, riahtrohS citsemoD]

  print(catsInReverse);
}

См. Пример dartpad: https://dartpad.dartlang.org/a18367ff767f172b34ff03c7008a6fa1

Отфильтровать список

Дарт позволяет легко фильтровать список, используя where .

var fruits = ['apples', 'oranges', 'bananas'];
fruits.where((f) => f.startsWith('a')).toList(); //apples

Конечно, вы можете использовать некоторые операторы AND или OR в своем предложении where.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow