DoubleLinkedQueue<E>.from constructor Null safety

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

Creates a double-linked queue containing all elements.

The element order in the queue is as if the elements were added using addLast in the order provided by elements.iterator.

All the elements should be instances of E. The elements iterable itself may have any element type, so this constructor can be used to down-cast a Queue, for example as:

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

Implementation

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