Collection和迭代器

zhushican | 建站教程 | 2014年8月15日

在面向对象的设计中,绝大多数的解决方案看起来都很贫:创建一个另一种类型的对象。这个新的对象会持有其他对象的reference。当然你也可以使用绝大多数语言都有的数组。但是这种通常被称作容器(也被称为collection,但是Java的类库赋予这个属于其他意义)的新对象可以根据需要扩容,以便让你放进所有的东西。所以无需知道要向容器里边放多少动气。你要做的只是创建一个容器对象,然后他会自己照料一切。

所有的容器都能让你放东西进去,那东西出来;通常有将元素放入容器的方法以及将元素取出来的方法。但是将元素取出来可能会有一些问题,因为如果一个方法每次只能选一个对象,那么它的功能太弱了。解决方法就是迭代器。它也是一种对象,其功能就是在容器中选取一个元素,并把它交给迭代器的用户。作为一个类,它也提供了某种抽象。这种抽象可以将容器的细节与访问容器的代码分隔开来。通过迭代器,容器被抽象成了一个简单的线性序列。迭代器能让你在遍历这个线性序列的时候不用去关心它到底用了什么结构——就是说,你不用去管它到底是arraylist、linkedlist还是其他什么东西。它能让你在不改动程序代码的前提下,修改其背后的具体数据结构。

[阅读全文]
0次浏览 0条评论 Collection  迭代器  
回顶部