集合-迭代器为什么是一个接口而不是一个类?

假设迭代器定义的是一个类,这样我们就可以创建该类的对象,调用该类的方法来实现集合的遍历。但是,Java提供了很多的集合类,这些集合类的数据结构是不同的。所以,存储的方式和遍历的方式应该是不同的。进而它们的遍历方式也应该不是一样的。最终,就没有定义迭代器类。
而无论哪种集合,都应该具备获取元素的操作,而且,最好在辅助于判断功能,这样,在获取前,先判断,更不容易出错。也就是说,判断功能和获取功能应该是一个集合遍历所具备的,而每种集合的方式又不太一样,所以我们把这两个功能给提取出来,并不提供具体实现,这种方式就是接口。
那么真正的具体的实现类在哪里呢?
在真正的具体子类中,以内部类的方式体现的。

猜你喜欢

转载自blog.csdn.net/qq_42776429/article/details/82470403