使用迭代器

时间:2012-05-14 11:01:16

标签: java oop

我有一个非常基本的问题。 Iterator是一个接口,因此要创建一个对象,我们需要创建一个实现Iterator的类,然后为它创建一个对象。但是当我看到迭代器的使用时,它让我很困惑,因为我们直接引用一个接口而没有一个实现它的类。例如:

HashMap map = new HashMap();
   map.put("1", "One");
   map.put("2", "Two");
   Iterator i = map.entrySet().iterator();

为什么我们有一个接口的对象!!

2 个答案:

答案 0 :(得分:5)

Iterator是一个接口,但map.entrySet().iterator()返回一个实现Iterator接口的对象。

答案 1 :(得分:0)

你将从该电话获得一些实施。你不能假设强制(和记录)的事物是迭代器接口。寻找“匿名内部阶级”。