您的位置:首页 > 编程语言 > Java开发

java--collection和Iterator

2012-03-16 23:15 246 查看
集合类

数组与集合的区别:

数组 集合 存储对象

数据多了对象存,对象多了用集合存

数组固定长度,集合可变长度

数组统一类型,集合对象类型可以不同

collection

接口

List arrayList LinkList Vector

Set HashSet TreeSet

每种容器的数据结构不同

接口没有构造方法,只有普通方法

Collection

Collection接口是Set接口和List接口的超类,所以Collection的特性都适用于Set和List接口,而Set和List接口在Collection的基础上。增加了新的特性和方法。下面是Collection接口的通用方法:

1.增加

Boolean add(Object) 集合中加入一个对象,成功时返回true

Boolean addAll(Collection) 集合中加入另外一个集合对象

2.判断

int size() 集合内容纳元素的数量

boolean isEmpty() 集合是否为空

boolean contain(Object) 集合内是否有参数对象

Boolean containsAll(Collection) 判断集合内是否包含子集

3.删除

Boolean remove(Object) 从集合中删除对象

Boolean removeAll(Collection) 清空指定集合

Boolean retainAll(Collection) 删除子集合不包含的元素

Void clear() 清空集合

集合中存放的是地址

4.其他

Iterator iterator() 产生一个迭代器

Object[] toArray() 返回一个包含所有元素的对象数组

Object[] toArray(Object[]) 把所有元素放入对象数组中

迭代器:

在每一个对象里面都有一个类都实现了Iterator接口

取出的动作封装成了对象,每个容器里面都有一个取出的对象,取出这个类定义了集合的内部,即Iterator是内部类,内部类完成了取出动作,每个容器都有,把取出方式定义在了集合的内部,取出方式可以直接访问类内部元素,而每一个容器的数据结构不同,所以取出的动作细节不同,但是都有共性内容即:判断,取出。

那么这些内部类,都符合一个规则,该规则是Iterator。如何获取取出的对象呢,通过一个对外提供的方法即 Iterator()方法。

列表迭代器

在迭代过程中准备添加或者删除元素

Iterator it = al.iterator();

while(it.hasNext())

{

object obj = it.next();

if(obj.equals(“”)

a1.add();

}

集合和迭代器不能同时使用

List集合特有的迭代器是Iterator的子接口

在迭代时不可以通过集合对象的方法操作集合中的元素,会发生并发修改异常

所以,在迭代时,只能用迭代器方法操作元素,可是Iterator方法是有限的,只能查看删除,如果要实现其他操作,如修改等,该接口只能通

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐