1.为什么使用集合框架
如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架
- Java集合框架包含的内容
Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中
1>接口
Collection Map
List Set HashMap TreeMap
ArrayList LinkedList HashSet TreeSet
2>具体类
3>算法 Collections
Collection 接口存储一组不唯一,无序的对象
List 接口存储一组不唯一,有序(插入顺序)的对象
Set 接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
- List接口的实现类
1>ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
2>LinkedList采用链表存储方式。插入、删除元素时效率比较高
- List接口常用方法
方法名 说 明
boolean add(Object o) 在列表的末尾顺序添加元素,起始索引位置从0开始
void add(int index,Object o) 在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间
int size() 返回列表中的元素个数
Object get(int index) 返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换
boolean contains(Object o) 判断列表中是否存在指定元素
boolean remove(Object o) 从列表中删除元素
Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始
- LinkedList的特殊方法
方法名 说 明
void addFirst(Object o) 在列表的首部添加元素
void addLast(Object o) 在列表的末尾添加元素
Object getFirst() 返回列表中的第一个元素
Object getLast() 返回列表中的最后一个元素
Object removeFirst() 删除并返回列表中的第一个元素
Object removeLast() 删除并返回列表中的最后一个元素
- Map接口常用方法
方法名 说 明
Object put(Object key, Object val) 以“键-值对”的方式进行存储
Object get (Object key) 根据键返回相关联的值,如果不存在指定的键,返回nul
Object remove (Object key) 删除由指定的键映射的“键-值对”
int size() 返回元素个数
Set keySet () 返回键的集合
Collection values () 返回值的集合
Boolean containsKey (Object key) 如果存在由指定的 键映射的“键-值对”,返回true
- 迭代器Iterator
如何遍历Map集合呢?
方法1:通过迭代器Iterator实现遍历
获取Iterator :Collection 接口的iterator()方法
Iterator的方法
boolean hasNext(): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素
方法2:增强for循环
for(元素类型t 元素变量x : 数组或集合对象){
引用了x的java语句
}