Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 列表和列表队列之间的区别_Dart - Fatal编程技术网

Dart 列表和列表队列之间的区别

Dart 列表和列表队列之间的区别,dart,Dart,Dart编程语言中与的区别是什么?如果可以对列表执行相同的操作,ListQueue有什么用?AListQueue不是List。它实现队列接口,并提供(摊销)恒定时间addFirst/removeFirst/addLast/removeLast操作。列表只能对addLast/removeLast执行此操作。对于每个元素访问,它都会花费一些额外的开销,因此您不应该在列表就足够的地方使用队列 ListQueue是抽象Queue接口的一个实现类。它基于一个基础列表,这就是为什么它的命名方式(比如Hash

Dart编程语言中与的区别是什么?如果可以对列表执行相同的操作,ListQueue有什么用?

A
ListQueue
不是
List
。它实现
队列
接口,并提供(摊销)恒定时间
addFirst
/
removeFirst
/
addLast
/
removeLast
操作。
列表只能对
addLast
/
removeLast
执行此操作。对于每个元素访问,它都会花费一些额外的开销,因此您不应该在
列表就足够的地方使用
队列


ListQueue
是抽象
Queue
接口的一个实现类。它基于一个基础列表,这就是为什么它的命名方式(比如
HashSet
是根据它实现
Set
接口的方式命名的)。

这是问题第一部分的答案,谢谢。如果可以使用列表做同样的事情,那么使用ListQueue有什么好处?在速度方面是否存在显著差异?正如lrn所解释的,
ListQueue
提供(摊销)从队列开始的固定时间插入或移除。对于
列表而言,情况并非如此;从
列表的开头插入或删除
将需要移动所有现有元素,使其成为一个O(n)操作。在此基础上添加了一点额外的操作。