集合框架笔记

来源:互联网 发布:淘宝 ap lolita 编辑:程序博客网 时间:2024/04/28 12:59

最近在学习Java,学到集合框架部分,做了一些整理,比较乱,不当的地方请指针

1.集合框架的概念
表示和操作所有类库的统称
2.集合框架包含的内容 对外的接口接口的实现 对集合运算的算法
接口:集合的抽象数据类型
实现 集合框架接口的具体实现
算法:在某个集合框架的接口对象上,完成某种计算方法查找排序等等
3.数组与集合的区别----------两者都是容器
数组长度不可变,集合长度可变
数组只能存放同类型的数据集合可存放不同类型的数据
数组可存放简单的数据类型的对象的数据类型集合只能存放对象类型的数据
3.0Collection接口
3.1.List接口(继承自Collection接口)------有序的Collection
List接口中元素的特点:集合中的元素有序(元素的存入和取出顺序是一致的),可重复,并且有索引
List集合中的元素都有一个索引,所以访问List集合中的元素除了迭代器,还可通过索引访问
3.1.1List接口的实现类
     1. ArrayList  查询块 增删慢 线程不安全----推荐使用

List 接口的大小可变数组的实现  注意,此实现不是同步
     2.LinkedList 查询慢  增删快  线程安全
     3. Vector  用法与ArrayList 类似   推荐使用ArrayList
3.1.2.泛型:支持创建可以按类型进行参数化的集合,(消除代码中的强制类型转换,同时防止有人将错误类型的键或值保存在集合中)
       特点:类型安全,捕获编译器的类型错误,消除强制类型转换
3.1.3迭代器Iterator

让容器传一个Iterator对象,来访问集合中的元素(单向遍历

列表迭代器(ListIterator可按正或逆向遍历列表、迭代期间可修改列表,并获得迭代器在列表中的当前位置。

3.2ArrayList 接口

概念元素在内存中是连续存储的,一个用数组实现的List。

容量默认10;也可指定大小自动增加

需要插入大量元素时,我们一般采取预先扩容的方案:在插入前可以调用ensureCapacity方法来增加ArrayList的容量以提高插入效率

0 0