DoubleLinkedQueue<E>.from 构造函数

DoubleLinkedQueue<E>.from(
  1. Iterable elements
)

创建一个包含所有 elements 的双端队列。

队列中的元素顺序,如同使用 addLast 按照由 elements.iterator 提供的顺序添加。

所有 elements 应该是 E 的实例。elements 可迭代的自身可以有任何元素类型,因此此构造函数可以用于向下转换 Queue,例如

Queue<SuperType> superQueue = ...;
Queue<SubType> subQueue =
    DoubleLinkedQueue<SubType>.from(superQueue.whereType<SubType>());

实现

factory DoubleLinkedQueue.from(Iterable<dynamic> elements) {
  DoubleLinkedQueue<E> list = DoubleLinkedQueue<E>();
  for (final e in elements) {
    list.addLast(e as E);
  }
  return list;
}