有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    简单的回答是: 集合实现了Iterable,这就是为什么可以使用for循环通过元素进行迭代

    正常的for循环不起作用,因为Set没有get()方法。它之所以被广泛使用,是因为数据结构是建立在集合之上的