java - 为什么队列在Java中使用LinkedList构造函数
问题描述
我试图了解 Java 中的内置队列接口。我了解如何很好地使用课程。
但我不明白为什么它使用 LinkedList 构造函数来启动自己?
为什么需要它?我们不能使用 ArrayList 实现队列吗?
提前致谢
解决方案
因为LinkedList
实现Queue
,而ArrayList
没有。
Queue<Object> myQueue = new LinkedList<>(); // Works, LinkedList implements Queue
Queue<Object> myQueue = new ArrayList<>(); // Doesn't compile, ArrayList doesn't implement queue
现在,如果您愿意,您可以编写一个实现 Queue 的新类,并使用 ArrayList 作为其支持容器,但我看不到吸引力,因为您已经可以从 ArrayList 初始化 LinkedList。可以说,这些方法可能会有一些性能List
(如果你也实现了它),但这些Queue
方法几乎没有甚至没有。
推荐阅读
- python - np.uint16 与 np.uint16 不同
- c - 什么是计算 floor(log(m / n)) 的有效方法,其中 m 和 n 是整数?
- arrays - 来自 Json 数组的 SwiftUI 列表
- python - 如果列值在任何地方减少,则删除一组行
- c# - 是否可以在 C# 中参数化 [TestInitialize]SetUp()?
- flutter - 如何在颤振中使用来自第三方包资产的图像?
- git - 基于同一文件中的代码的多个拉取请求
- java - TinyGP 在更新它以解决更复杂的符号回归示例时,在平均平均适应度函数中给了我很大的峰值
- api - 使用服务帐户驱动 API,需要安全评估?
- django - 如何将引导程序添加到 Django Form,py?