Java 中用于自定义对象列表的 Foreach 循环

新手上路,请多包涵

我有一个类型为 Room 的 ArrayList(我的自定义对象)定义如下

ArrayList<Room> rooms = new ArrayList<Room>();

然后将一系列对象添加到 ArrayList 之后,我想遍历所有对象并检查各种内容。我不是 java 的热衷用户,但我知道在许多其他编程语言中,foreach 循环是执行此操作的最简单方法。

经过一番研究后,我发现了以下链接,它建议使用以下代码。 Java“for each”循环是如何工作的?

 for(Iterator<String> i = someList.iterator(); i.hasNext(); ) {
  String item = i.next();
  System.out.println(item);
}

但据我所知,这不能用于自定义对象的 Arraylist。

可以,如果可以,我如何为自定义对象的 ArrayList 实现 foreach 循环?或者我怎么能以其他方式处理每个项目?

原文由 mr.user1065741 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 542
2 个回答

实际上 增强的 for 循环 应该是这样的

for (final Room room : rooms) {
          // Here your room is available
}

原文由 ShyJ 发布,翻译遵循 CC BY-SA 3.0 许可协议

您还可以使用 Java 8 流 API 并在一行中执行相同的操作。

如果要打印任何特定属性,请使用以下语法:

 ArrayList<Room> rooms = new ArrayList<>();
rooms.forEach(room -> System.out.println(room.getName()));

或者

ArrayList<Room> rooms = new ArrayList<>();
rooms.forEach(room -> {
    // here room is available
});

如果你想打印 Java 对象的所有属性,那么使用这个:

 ArrayList<Room> rooms = new ArrayList<>();
rooms.forEach(System.out::println);

原文由 Amar Prakash Pandey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题