十五集合框架
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ey4Tk7ct-1603112995112)(C:\Users\lgm\AppData\Roaming\Typora\typora-user-images\1603067373885.png)]
1.Collection
存储一组不唯一,无序的对象
常用方法
boolean isEmpty() 判断是否为空
boolean add(E e) 添加元素
boolean addAll(Collection<E>) 添加一个collection集合中所有元素
boolean remove(Object o) 一处collection中元素
boolean removeAll() 移除collection中所有元素
void clear() 移除collection中所有元素
int size() 返回collection中元素数
Object[] toArray() 将collection集合转换为数组
boolean contains(Object o) 判断collection是否包涵指定元素
Iterator<E> iterator() 返回collection的元素上进行迭代的迭代器
子类
List 接口存储一组不唯一,有序(插入顺序)的对象
Set 接口存储一组唯一,无序的对象
2.List集合接口
List集合存储一组不唯一,有序(插入顺序)的对象
ArrayList实现
实现了长度可变的数组,在内存中分配连续的空间,元素访问效率比较高,但插入、删除元素效率比较低
常用方法
boolean isEmpty() 判断是否为空
boolean add(Object o) 在列表的末尾添加元素,起始索引位置从0开始
void add(int index,Object object) 在指定索引位置添加元素
boolean addAll(Collection<E>) 添加一个collection集合中所有元素
boolean remove(Object object) 从列表中删除元素
Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始
Object removeRange(int fromIndex,int toIndex) 移除列表索引fromIndex和toIndex之间所有元素
E get(int index) 返回列表中指定位置的元素
E set(int index,E element) 用指定元素替代指定位置上的元素
void clear() 移除列表中所有元素
int size() 返回列表中元素个数
boolean contains(Object o) 判断列表中是否存在指定元素
Iterator Iterator() 回List的元素上进行迭代的迭代器
int indexOf(Object o)/lastIndexOf(Object o) 返回列表第一次/最后一次出现的索引
Object[] toArray() 将collection集合转换为数组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3qp7RQq0-1603112995118)(C:\Users\lgm\AppData\Roaming\Typora\typora-user-images\1603071565321.png)]
LinkedList实现
采用链表存储方式,插入、删除元素效率比较高,但元素访问时效率比较低
boolean isEmpty() 判断是否为空
boolean add(Object o) 在列表的末尾添加元素,起始索引位置从0开始
void add(int index,Object object) 在指定索引位置添加元素
boolean addAll(Collection<E>) 添加一个collection集合中所有元素
addFirst(E e) 将指定元素添加到列表的开头
void addLast(E e) 将指定元素添加到此列表的结尾
boolean remove(Object object) 从列表中删除元素
Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始
Object removeFirst() 删除并返回列表的第一个元素
Object removeLst() 删除并返回列表的最后一个元素
Object removeRange(int fromIndex,int toIndex) 移除列表索引fromIndex和toIndex之间所有元素
E get(int index) 返回列表中指定位置的元素
E getFirst() 返回列表的第一个元素
E getLast() 返回列表的最后一个元素
E set(int index,E element) 用指定元素替代指定位置上的元素
void clear() 移除列表中所有元素
int size() 返回列表中元素个数
boolean contains(Object o) 判断列表中是否存在指定元素
Iterator Iterator() 回List的元素上进行迭代的迭代器
int indexOf(Object o)/lastIndexOf(Object o) 返回列表第一次/最后一次出现的索引
Object[] toArray() 将collection集合转换为数组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YPl97AvP-1603112995120)(C:\Users\lgm\AppData\Roaming\Typora\typora-user-images\1603075370182.png)]
3.Set集合
Set集合存储一组唯一,无序的对象
且没有get方法,只能通过迭代器或转化为数组进行遍历
常用方法
boolean isEmpty()
boolean add(E e) 添加元素
boolean addAll(Collection<E>) 添加一个collection集合中所有元素
int size() 返回Set中元素数
Iterator Iterator() 回Set的元素上按升序进行迭代的迭代器
boolean remove(Object o) 删除指定元素
void clear() 移除collection中所有元素
boolean contains(Object o) 判断列表中是否存在指定元素
Object[] toArray() 将set集合转换为数组
TreeSet实现
集合元素按自然顺序来排序,且TreeSet线程不同步
HashSet实现
集合元素按哈希顺序来排序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RZ55V0K1-1603112995124)(C:\Users\lgm\AppData\Roaming\Typora\typora-user-images\1603078139844.png)]4.Map集合
Map集合元素都是键值对
常用方法
Object put(Object key,Object val) 以键-值的方式进行存储
Object get(Object key) 根据键返回相关联的值,key不存在返回null
Object remove(Object key) 删除指定键的键值对
int size() 返回元素个数
Set keySet() 返回键的结合
Collection values() 返回值的集合
boolean contiansKey(Object key) 存在指定键映射的键值对,返回true
TreeMap实现
TreeSet集合元素按键自然顺序排序
HashMap实现
TreeSet集合元素按键哈希顺序排序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4noKg9xI-1603112995126)(C:\Users\lgm\AppData\Roaming\Typora\typora-user-images\1603111029070.png)]
5.栈
限制仅在表的一端进行插入和删除运算的线性表
插入、删除的一端为栈顶,另一端为栈底
插入和删除按先进后出(LIFO)的原则
常用方法
boolean add(E e) 给栈内添加元素
boolean empty() 测试堆栈是否为空
E peek() 查看堆栈顶部的对象
E pop() 移除堆栈顶部对象并返回该对象
E push() 把项压入堆栈顶部
in search(Object o) 返回对象在堆栈中的位置,以1为基数
void clear() 清除所有元素
int size() 栈内元素个数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6bk8YLlu-1603112995127)(C:\Users\lgm\AppData\Roaming\Typora\typora-user-images\1603112286972.png)]
6.队列
只允许在一端进行插入,在另一端进行删除的受限的线性表
允许删除的一端为对头,允许插入的一端为队尾
按照先进先出(FIFO)的原则
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uSjGqX4G-1603112995128)(C:\Users\lgm\AppData\Roaming\Typora\typora-user-images\1603112736262.png)]