java为什么我不能使用For循环从集合中获取元素?
我脑子里有一个问题,为什么我不能通过使用normal For循环从集合中获取元素,但当我使用Enhanced For循环时,所有东西都正常工作。 例如:
private static Set<HeavenlyBody> planets = new HashSet<>();
for (HeavenlyBody getPlanet : planets){
System.out.println("\t"+getPlanet.getName()+": "+getPlanet.getOrbitalPeriod());
}
如果集合没有这种技术,增强For循环中的getPplanet对象如何获取元素?我怎样才能通过正常的For循环来实现呢? 致意
# 1 楼答案
简单的回答是: 集合实现了Iterable,这就是为什么可以使用for循环通过元素进行迭代
正常的for循环不起作用,因为Set没有get()方法。它之所以被广泛使用,是因为数据结构是建立在集合之上的