Я знаю, что библиотека dart: collection имеет отличную реализацию Linked List.Тем не менее я пытаюсь реализовать связанный список самостоятельно как часть MOOC.
Вот моя очень простая реализация связанного списка
import './node.dart';
class LinkedList {
// root node of the list
Node root = null;
// the number of items on the list
int _count = 0;
// returns true if root is not set
bool isEmpty(){
return this.root == null;
}
// getter for the _count variable;
get count{
return this._count;
}
// push method to push a new item to the end of the list
push(String content) {
Node item = new Node(content);
if (this.root == null) {
this._count += 1;
this.root = item;
} else {
Node iterator = root;
while (iterator.next != null) {
iterator = iterator.next;
}
this._count += 1;
iterator.next = item;
}
return item;
}
}
Я хотел бы, чтобы он реализовал свойства Iterable Classи методы, такие как foreach и длина.Я прочитал документы для класса Iterable и IterableMixin, но я все еще пытаюсь понять, как использовать их с моим классом LinkedList, поскольку в документах приведен только пример использования Map в качестве Iterable.