(十三)JAVA入门--集合Collection和迭代器Iterator


一、集合与Collection

1、概念:对对象进行存储,如果对象个数不确定,就出现了集合容器进行存储。
2、特点:
(1)用于存储对象的容器;
(2)集合的长度是可以变化的;
(3)集合中不可以存储基本数据类型值。
3、集合框架
集合容器因为内部的数据结构不同,有多种具体容器,不断向上抽取,就形成了集合框架。框架的顶层就是Collection接口。
4、Collection的常见方法:
(1)增加
boolean add(Object o)
boolean addAll(Collection coll)
(2)删除
remove、removeAll(删除二者集合的交集)、clear
(3)判断
contains、containsAll、isEmpty
(4)获取
size(集合大小)、iterator(迭代器)
(5)其他
retainAll(取交集)、toArray(集合转数组)。

二、迭代器

1、原理:每一个容器内部的数据结构不同,所以该迭代器对象应该是在容器内部实现的。对于使用容器而言,具体的实现不重要,只要通过容器获取到该实现的迭代器对象即可,也就是iterator方法。
2、典型方法

Collection c1 = new ArrayList();  //创建一个ArrayList容器c1
// c1.iterator()调用该容器中的方法,返回迭代器对象,相应的调用对象中操作内容的方法
for(Iterator it = c1.iterator();it.hasNext();)      
{
        System.out.println(it.next());
}

个人理解: Collection和Iterator都是接口,Collection接口里面放着所有类型容器都有的方法(向上抽取得到),Iterator接口内放着处理容器内容hasNext、next等抽象方法。任意一个类型的容器,都实现了Collection和Iterator接口内容,并对上面的接口中的方法进行覆写,针对自身容器特点进行数据元素操作。类似于,容器类似于抓娃娃机,里面的爪子就是迭代器,但是只是提供外部的操纵杆对内进行操作。

三、集合框架体系

1、框架图
集合框架
图中虚线框都表示接口,实线框表示类。
2、集合总掌门Collection
|–左膀List:有序(存入和取出顺序一致),有索引,元素可重复。
|–左派ArrayList:内部是数组数据结构,不同步,查询速度快。
|–左派LinkedList:内部是链表数据结构,不同步,增删速度快。
|–右臂Set:无序、无索引、元素不可重复。
|–右派HashSet:内部数据结构是哈希表,不同步。
|–右派LinkedHashSet:内部是链表和哈希表结构,并且变成有序了。
|–右派TreeSet:可以对Set中的元素进行排序,不同步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值