DoubleLinkedQueue<E>.from 构造函数

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

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

队列中的元素顺序就像使用 addLast 按照由 elements.iterator 提供的顺序添加一样。

所有 elements 应该是 E 的实例。因此,这个可迭代对象自己可以有任何元素类型,所以这个构造函数可以用来向下转型一个 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;
}