集合框架:
集合
定义:
集合就是个容器,用来对多个数据进行存储操作的结构(此存储主要指内存层面,不涉及持久化存储)
特点:
集合容器的长度是可以变化的
集合容器只能存储引用数据类型
一个集合容器中可以存储不同引用数据类型的数据
集合容器与数组容器的区别:
集合容器的长度是可以变化的
数组容器一旦初始化长度就不能发生改变
集合容器只能存储引用数据类型
数组容器及可以存储基本数据类型,也可以存储引用数据类型
一个集合容器中可以存储不同引用数据类型的数据
一个数组容器中只能存储同一种数据类型的数据
数组存储数据的特点:
有序,可重复,对于无序,不可重复的需求,不能满足
Collection 接口:
单列集合的顶层接口,用来存储一个一个的对象
--List 子接口 :
存储有序的,可重复的数据
ArrayList 实现类
LinkedList 实现类
Vector 实现类
--Set 子接口 :
存储无序的 不可重复的数据
--HashSet 实现类
--TreeSet 实现类
--LinkedHashSet 实现类
Collection使用:
向Collection接口的实现类的对象中添加数据OBJ时,要求obj所在类要重写equals().
常见方法:
boolean add(Object e):添加元素
boolean addAll(Collection c):添加集合
boolean remove(Object o):删除元素
removeAll(Object o):从当前集合移除另一个集合的所有元素
boolean removeIf(Predicate filter):按照条件删除元素
hashCode():返回当前对象的hash值
void clear():清空集合容器
int size():获取容器长度
数组长度:length、字符串长度:length()、集合长度:size()
boolean contains(Object o):判断集合中是否包含指定元素
boolean isEmpty():判断集合容器是否为空
Object[] toArray(): 将集合转换为数组
Iterator<Object> iterator():返回Iterator接口的实例,用于遍历集合元素
内部方法:
hasNext() :判断是否还有下一个元素
next():①:指针下移;②:将下移后的集合位置上的元素返回
Map 接口:
双列集合,用来存储一对( key---value)一对的数据
常用类:HashMap
hashcode:
将一个对象转换为一个整数数值序列
实例化HashMap对象:
以键值对的方式进行存储 key value key值不能重复