在 Dartlang 的链表上实现 Iterable 类?
Posted
技术标签:
【中文标题】在 Dartlang 的链表上实现 Iterable 类?【英文标题】:Implementing Iterable class on a Linked List in Dartlang? 【发布时间】:2019-06-23 04:59:00 【问题描述】:我知道 dart:collection 库有一个很棒的链表实现。然而,我正在尝试自己实现一个链接列表作为 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 类的文档,但我仍在努力理解如何将它们与我的 LinkedList 类一起使用,因为这些文档仅提供了将 Map 用作 Iterable 的示例。
【问题讨论】:
【参考方案1】:扩展IterableBase
docs,你应该很高兴!
【讨论】:
以上是关于在 Dartlang 的链表上实现 Iterable 类?的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 https://pub.dartlang.org 查找包 ABC 时出现 TLS 错误
将第一个节点添加到hashmap中的链表时,为啥必须将新节点直接分配给索引指针?
Flutter 创建导致错误 尝试在 https://pub.dartlang.org 找到包 cupertino_icons 时出现 TLS 错误