What's the difference between a DoubleLinkedQueue and a ListQueue in Dart?
问题 The Dart core API has two classes that implement the Queue<E> interface, DoubleLinkedQueue<E> and ListQueue<E>. The documentation of both classes is almost identical, the only difference that is explicitly mentioned is the following note in the ListQueue<E> documentation: Operations like removeAll and removeWhere are very inefficient. If those are needed, use a DoubleLinkedQueue instead. What is the actual difference between them implementation-wise and when should which implementation be