它的引入似乎主要是为了遍历集合。实现接口的任何集合(或容器)类都有资格使用" for -each循环“进行迭代。也许出于历史原因,Java数组没有实现Iterable接口。在Java8中,作为默认方法添加到Iterable接口中。这使得将lambda表达式传递给集合(同时迭代)成为可能(例如,list.forEach(System.out::println))。
我的问题更像是我想和其他人确认的问题,所以我确信我得到了正确的答案。当您想要进行非线程安全操作(例如枚举集合)时,最好的做法是如果该集合存在同步方法,则调用它。然后你就可以无忧无虑地做一些事情: // Do something现在,我个人并不真正使用ArrayLists,它只是用于示例,但是对于常规列表,同步方法并不存在,因此这里的最佳实践是: //