java - 返回 ArrayList 还是 List?

标签 java list optimization

我正在创建一个供人们使用的库,但为什么我的方法应该返回一个 List 而不是 ArrayList

因为如果用户知道实际类型是 ArrayList,他将在循环中使用访问器 [] 而不是迭代器,但如果他不知道他将使用迭代器。

LinkedList 同样的问题,如果返回类型是 List,他将无法使用正确的访问器。

我说得对吗?

最佳答案

返回 List 将使您的库的用户可以使用任何实现 List 接口(interface)的东西,而使用 ArrayList 将强制他们使用 ArrayList

如果将来您作为库创建者决定更改您的内部实现,那么最终用户将通过库的通用接口(interface)隐藏这些更改。

关于java - 返回 ArrayList 还是 List?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683044/

相关文章:

java - 对象数组

java - 为什么一个列表给了我一个值,而另一个却没有?

java - 为什么不支持向 java.time.Instant 添加周数?

c# - 如何使用 C# 制作几个不同的列表?

c# - 在不同的地方添加元素到列表

c++ - 根据项目的调试/发布状态定义两次简单的内联方法有什么好处吗?

MySQL 查询优化(使用 COUNT 和 JOIN)

r - 获取列表中共享元素的所有组合

java - Android 应用程序 - 从 Activity 绘制位图

java - 在Java中干净地停止监听serversocket的线程