ListMixin<E> 类型定义

ListMixin<E> = ListBase<E>

列表类的基类 mixin 实现。

ListMixin 可以用作 mixin 来使一个类实现 List 接口。

此 mixin 使用 lengthoperator[] 以及成员来实现所有只读操作。它使用这些以及 addlength=operator[] 来实现写操作。使用此 mixin 的类应该实现这五个操作。

注意:为了兼容性原因,存在 add 的默认实现,它仅适用于具有可空元素类型的列表。对于不可空元素类型的列表,必须实现 add 方法。

注意:仅将四个 length[] 只读/写操作转发到一个正常的可增长 List(如通过 [] 文字创建)将为 ListMixinaddaddAll 操作带来非常糟糕的性能。这些操作通过每次 add 操作将列表长度增加一个来实现,并且重复增加可增长列表的长度效率不高。为了避免这种情况,覆盖 'add' 和 'addAll' 以直接转发到可增长列表,或者,如果可能,使用 "package:collection/collection.dart" 中的 DelegatingList 替代 ListMixin

实现

// TODO: @Deprecated("Use List instead")
typedef ListMixin<E> = ListBase<E>;