所有集合框架,都是实现Collection接口,Collecton接口中定义了一个获取迭代器的方法,collection.iterator();
每个具体实现Collection的集合类,都需要用内部类来实现迭代器,在迭代器中实现操作数据的方法。
可是为什么不能直接在Collection接口中定义操作数据的方法,而每个子类实现方法。这样不是比设计内部类更简洁吗?
所有集合框架,都是实现Collection接口,Collecton接口中定义了一个获取迭代器的方法,collection.iterator();
每个具体实现Collection的集合类,都需要用内部类来实现迭代器,在迭代器中实现操作数据的方法。
可是为什么不能直接在Collection接口中定义操作数据的方法,而每个子类实现方法。这样不是比设计内部类更简洁吗?
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答765 阅读✓ 已解决
2 回答1.8k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
先声明:
Map没实现Collection接口
Collection表示这是一个集合,即定义了集合的接口
Iterator则是遍历集合的接口
回答:
为了降低耦合。Iterator也是要作为组件去复用的,而不仅仅是Collection接口中使用了它。