Sobes.tech
Junior — Middle

Kas Dart keeles on sisseehitatud virna andmestruktuuri rakendused?

sobes.tech AI

Vastus AI-lt

Dart keeles ei ole eraldi sisseehitatud andmestruktuuri nimega "kaste" kui eraldi klass, kuid kasti saab rakendada standardse List klassi abil. Dartis toetab nimekiri (List) meetodeid add ja removeLast, mis võimaldavad seda kasutada nagu virna (LIFO).

Näide virna rakendamisest List põhjal:

class Stack<T> {
  final List<T> _list = [];

  void push(T value) => _list.add(value);

  T pop() => _list.removeLast();

  T get top => _list.isNotEmpty ? _list.last : null;

  bool get isEmpty => _list.isEmpty;
}

Seega kasutatakse Dartis virnadega töötamisel tavaliselt List.