我知道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和length。我阅读了Iterable和IterableMixin类的文档,但由于文档仅提供了将Map用作Iterable的示例,因此我仍在努力了解如何将其与LinkedList类一起使用。