何时在 Java 中使用数组列表?
2022-09-01 04:14:12
在Java中,什么时候使用列表而不是数组会更可取?
我认为这个问题恰恰相反——
何时应在列表上使用数组?
只有你有一个具体的理由这样做(例如:项目约束,内存问题(不是一个很好的理由)等)
列表更易于使用(imo),并且具有更多功能。
注意:您还应该考虑像 Set 或其他数据结构这样的东西是否比 List 更适合您尝试执行的操作。
每个数据结构和插拔都有不同的优缺点。选择那些擅长你需要做的事情的人。
如果你需要 get() 是 O(1) 对于任何项目?可能使用 ArrayList,需要 O(1) insert()?可能是一个链接列表。需要 O(1) contains()?可能是哈希集。
TLDR:每个数据结构都擅长某些事情,而在其他方面则很糟糕。查看您的目标并选择最适合给定问题的数据结构。
编辑:
没有注意的一件事是,你最好将变量声明为其接口(即List或Queue),而不是它的实现类。这样,您可以在以后的某个日期更改实现,而无需更改代码中的任何其他内容。
例如:
List<String> myList = new ArrayList<String>();
与
List<String> myList = new LinkedList<String>();
请注意,在这两个示例中,myList 都是一个列表。--R·贝姆罗斯
经验法则:
List
List
List
List