java - 是否实现可迭代类型?

标签 java iterable

什么时候应该考虑实现 Iterable<T>而不是将集合作为实例字段?有什么好处/后果?

最佳答案

实现Iterable支持封装。 (通常)您的类(class)的用户不需要知道您是否正在使用链表或哈希表或其他什么。

您可以更改实现细节,而无需修改使用您的类的任何代码。例如,您可能希望根据项目数量在集合之间切换。

您还可以控制用户可以做什么和不能做什么。如果您直接访问您的 Collection ,那么他们可能会在您不知情的情况下对其进行修改,这是一个非常糟糕的主意。

关于java - 是否实现可迭代类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7377993/

相关文章:

java - 如何信任我的自签名证书

java - 类层次结构中方法调用的练习

javascript - 在 ES6 中使链表可迭代

java - 空指针异常 - Hadoop Mapreduce 作业

java - Iterable 接口(interface)是做什么用的?

java - 将 joda 时区映射到 windows 时区(例如在 C# 中)

java - 有没有一种有效的方法来重构这个 Android SQLite 数据库处理程序?

python - 如何测试 X 是否像列表/元组一样嘎嘎作响

java - 在 arraylist 中缓存 iterable 以在 reducer 中迭代两次不起作用

java - Intent 并不总是按预期工作