作为开发人员,每个人在他们的职业生涯中都必须面对需要可调整大小的集合的要求,您可以添加、删除、检索(FIFO)。
在每个应用程序中,我看到使用List(ArrayList)来满足这个需求,但我的问题是为什么开发人员不选择Queue(可能是ArrayDeque)。根据我目前的了解,我认为ArrayList(List)和ArrayDeque(Queue)在满足我所说的需求时同样好。但是我从未在我的职业生涯中遇到过队列,总是只找到List。
因此,我的问题是为什么不优先选择队列而不是List。我相信一定有一些原因,但不知何故我缺乏理解?
更新:这里是我的明确要求
1)添加发生在末尾,应该很快。可能是O(1)
2)迭代应该很快
3)查找和删除任何特定元素应更快。
根据以上要求,我认为Arralist比ArrayDeque更有意义。以下是我的逐点原因:
1)Both Arraylist and ArrayDeque will be O(1) . Right?
2)迭代性能对于两者都是相同的,因为它将基于索引。对于ArrayDeque,索引将基于时间戳,而对于arraylist,用户可以显式地指定索引。对吗?
3)对于两者来说,它将是O(1),因为查找将基于索引进行。
在每个应用程序中,我看到使用List(ArrayList)来满足这个需求,但我的问题是为什么开发人员不选择Queue(可能是ArrayDeque)。根据我目前的了解,我认为ArrayList(List)和ArrayDeque(Queue)在满足我所说的需求时同样好。但是我从未在我的职业生涯中遇到过队列,总是只找到List。
因此,我的问题是为什么不优先选择队列而不是List。我相信一定有一些原因,但不知何故我缺乏理解?
更新:这里是我的明确要求
1)添加发生在末尾,应该很快。可能是O(1)
2)迭代应该很快
3)查找和删除任何特定元素应更快。
根据以上要求,我认为Arralist比ArrayDeque更有意义。以下是我的逐点原因:
1)Both Arraylist and ArrayDeque will be O(1) . Right?
2)迭代性能对于两者都是相同的,因为它将基于索引。对于ArrayDeque,索引将基于时间戳,而对于arraylist,用户可以显式地指定索引。对吗?
3)对于两者来说,它将是O(1),因为查找将基于索引进行。