为什么实用集合框架?
如果并不知道程序运行时会需要多少个对象,或者需要更复杂的对象
集合框架包含的内容:
接口:
collection:list set map
两大集合框架:collection和map 三大集合框架:list、set和ma
具体类
算法 collections 提供了对集合进行排序、遍历等多种算法实现
集合框架的接口:
1.collection:接口存储一组不唯一,无序的对象。相同的数据不止一个,不能通过下标访问
2.list:接口存储一组不唯一,有序(插入对象)的对象 能够通过下标访问
3.set:接口存储一组唯一,无序的对象 是否唯一:基本数据类型和字符串比较的是值是否相同,其余比较的全是地址
4.map:接口存储一组键值对,提供key(键)到value(值)的映射。通过键找到值
list接口的实现类:
ArrayList:实现了长度可变的数组,在内存中分配连续的空间。
遍历元素和随机访问元素的效率比较高
LinkedList:采用链表存储模式。
插入删除元素时效率比较高。
list接口常用方法:
boolean add(Object o) 添加
void add(int index,Object o) 插入元素
list.size(); 长度
list.remove(); 删除
Object get(int index); 返回指定索引位置的元素,取出的元素是object类型,使用时要强转
迭代器 :
如何遍历list集合:
1.通过for循环和get()方法配合实现遍历
2.通过迭代器Iterator实现遍历
所有集合接口和类都没有提供相应遍历方法,而是由iterator实现集合遍历
Collection接口的iterate()方法返回一个iterator,然后通过iterator接口的两个方法可实现遍历
boolean hashNext()
Object next()
set接口:
数据存放无序,非常简单,主要呈现信息列表
set存储一组唯一无序的对象
HashSet
Set接口不存在get方法