在Java中,什么时候优先使用List而不是Array?
我认为这个问题是相反的——
什么时候应该使用数组而不是列表?
只有您有特定的理由才这样做(例如:项目限制、内存问题(这并不是一个很好的理由)等)
列表更容易使用(我认为)并且具有更多功能。
注意:您还应该考虑诸如 Set 之类的数据结构或其他数据结构是否比 List 更适合您想要执行的操作。
每种数据结构和实现都有不同的优缺点。选择那些擅长您需要做的事情的人。
如果您需要 get() 对于任何项目都是 O(1) ?可能使用 ArrayList,需要 O(1) insert()?可能是一个链接列表。需要 O(1) contains() 吗?可能是一个哈希集。
TLDR:每种数据结构都擅长某些事情,而另一些事情则很糟糕。查看您的目标并选择最适合给定问题的数据结构。
Edit:
没有注意到的一件事是你最好声明变量
作为它的接口(即列表或队列)而不是它的实现
班级。这样,您可以在以后更改实施
无需更改代码中的任何其他内容。
举个例子:
List<String> myList = new ArrayList<String>();
vs
List<String> myList = new LinkedList<String>();
请注意,两个示例中的 myList 都是一个列表。
--R·贝姆罗斯
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)