java - 如何遍历对象的列表?
问题描述
我目前在 Java 中遇到这个问题,假设我有一个类ListOfTasks
:
public class ListOfTasks {
private Point startingPoint;
ArrayList<Task> tasks;
}
在另一个类中,我想通过调用 ListOfTasks 直接遍历数组列表tasks
,而不是先检索任务然后再遍历它。
解决方案
您可以通过实现Iterable
返回数组列表的迭代器来做到这一点:
public class ListOfTasks implements Iterable<Task> {
private Point startingPoint;
ArrayList<Task> tasks;
public Iterator<Task> iterator() {
return tasks != null ? tasks.iterator() : Collections.emptyIterator();
}
}
然后,您可以使用 for-each 进行迭代
ListOfTasks list = new ListOfTasks();
// add some tasks, etc...
for (Task task : list) {
// use task
}
// or
list.forEach(task -> {
// use task
});
推荐阅读
- tableau-api - 在 TABLEAU 中将数据源更改为 SQL Server
- python - 根据数据框中许多其他列的值在列中分配值
- javascript - 我的 Bootstrap 网站需要很长时间才能加载。我使用来自 Envato 的模板 Celia 来构建它
- javascript - Braintree 中的托管字段给出错误“无法确定付款方式”PHP Laravel
- python - Python3 Odoo TypeError sys.print 不是函数
- python - 从具有特定格式的python字典中删除键
- c# - 文档上传 asp.net 站点,用户可以选择稍后重新上传更新的文档
- datatables - 如何在数据表中将文本更改为值
- ruby-on-rails - 当存在需要数据库操作的服务器发送事件 (SSE) 时,Rails 应用程序挂起
- apache-flink - 如何加入流和数据集?