集合:
集合是用于存储对象的一个工具。
集合与数组的特点
相同点:都是一个容器
不同点:
集合:可以存储对象,只能存储对象,集合长度可变。
数组:可以存储对象,也可以存储基本数据类型,数组长度固定。
容器对象有很多种,通过内部的数据结构来区分,数据结构就是一种数据存储方式。
在不断的将容器对象的相同点抽取的过程中,就出现了集合体系结构,该体系的结构框架称为集合框架。
最顶层的是一个接口:Collection
Collection 表示的是一组对象。
迭代器(Iterator):
Collection集合中对元素的获取方式:hasNext() 判断是否有值、next() 返回迭代的下一个元素、remover() 删除
集合容器都具备取出方式,取出方式并不是一个方法,因为一个方法并不足以完成取出,取出是由多个方法来完成的,为了方便使用,将这些方法封装称了对象;该对象在描述时,这些功能会直接使用到具体集合中的数据和集合特点。所以这个取出元素的描述类,就定义在集合的内部,也就是一个内部类。
因为这个类在直接访问集合中的数据,根据集合自身的数据结构特点,将具体的方法都定义完成后,需要将对象对外提供出去让用户使用,所以就暴露了一个方法,来完成对这个内部类对象的访问。
为了提高扩展性,发现只要是容器,就具备取出功能,但数据结构不同,取出的具体实现一样,这时为了扩展,就抽取了一个接口 Iterator (迭代器)。
Collection coll=new ArrayList(); coll.add("元素1"); coll.add("元素2"); coll.add("元素3"); Iterator iter=coll.iterator(); while(iter.haxNext()){ iter.next(); } //或 for(Iterator iter=coll.iterator();iter.haxNext()){ iter.next(); }