【发布时间】:2020-01-04 10:44:50
【问题描述】:
我不是在问如何找到它,这已经在this 其他问题中得到了回答:
但只是深入研究 Java 中的数据结构,我发现 LinkedList 实现有一个 getLast() 方法,但在 ArrayList 实现中没有实现(我想是出于某种原因)。我找不到任何其他类似的问题,也没有在互联网上发布解释它,所以我决定在这里问。
我们可能同意当前从 ArrayList 获取最后一个元素的方式并不优雅,而且通常这种实现比 LinkedList 使用更广泛,因为它在更广泛的场景中表现更好,正如 here 所讨论的那样。
有人知道为什么 ArrayList 没有实现那个方法吗?
编辑:我已经编辑了我的问题以避免混淆和基于意见的答案。根据事实和参考资料,安德烈亚斯的以下答案是我一直在寻找的答案。
【问题讨论】:
-
这个问题你应该问设计
List界面的人。 -
当在 Java 8 中引入新的日期和时间 API 时,该接口不能像他们为向后兼容日期和日历类型所做的那样扩展吗?我的意思是他们为相互转换添加的 .from(...) 方法。我相信这样做不会那么复杂,并且不相信我是第一个想知道它的人..
-
欢迎您打开JEP。
-
如果你想使用ArrayList,你可以随时编写自己的类,扩展ArrayList并编写
getLast()方法。然后在您的代码中重用该类!问题解决了 -
请注意,创建辅助方法至少很简单:softsmithy.org/softsmithy-lib/lib/2.0/docs/site/apidocs/org/…
标签: java arraylist data-structures linked-list