作为开发人员,他们关心的每个人都必须面临这样的要求:您需要可调整大小的集合,您可以在其中添加、删除、检索 (FIFO)。
在我看到的每个应用程序中,我都使用 List(ArrayList) 来满足这个要求,但我的问题是为什么开发人员不选择 Queue(probably ArrayDeque) 。根据我目前的理解,我发现 ArrayList(List) 和 ArrayDeque(Queue) 对于我所说的要求同样适用。但是我在我的职业生涯中仍然没有发现队列,总是只找到列表。
所以我的问题是为什么不优先使用队列而不是列表。我相信一定有某种原因,但不知何故我错过了这种理解?
更新:-这是我的明确要求
1)加法发生在最后,应该很快。可能 O(1)
2)迭代应该很快
3)查找和删除任何特定元素应该更快。
按照上述要求,我认为 Arralist 比 ArrayDeque 更有意义。这是我的逐点理由
1) Arraylist 和 ArrayDeque 都是 O(1) 。对?
2)两者的迭代性能相同,因为它将基于 index 。对于 ArrayDeque 索引将基于时间戳,而对于 arraylist 用户可以明确提及索引。对?
3) 两者都是 O(1),因为查找将基于 om 索引进行