这篇文章记录了Collection集合,List集合,Set集合一、什么是集合
在文章第七点总结了两大系列集合的五种实现类的区别,有需要的小伙伴可以直接去查看
方法名称 | 说明 |
public boolean add(E e) | 把给定的对象添加到当前集合中 |
public void clear() | 清空集合中所有的元素 |
public boolean remove(Object o) | 把给定的对象在当前集合中出现的第一个位置删除,如果删除失败返回false |
public boolean contains(Object obj) | 判断当前集合中是否包含给定的对象 |
public boolean isEmpty() | 判断当前集合是否为空 |
public int size() | 返回集合中元素的个数。 |
public Object[] toArray() | 把集合中的元素,存储到数组中 |
Collection的子接口1. 特点
方法名称 | 说明 | 注意 |
void add(int index, E element) | 将给定的元素插入到指定位置 | 索引不能越界,否则报错 |
E get(int index) | 返回该索引位置的元素,没找到返回-1 | |
E set(int index, E element) | 对给定位置的元素进行替换 | |
E remove(int index) | 删除指定位置的元素 | |
int lastIndexOf(Object o) | 返回特定元素在集合中最后一次出现的位置 | 没找到返回-1 |
int indexOf(Object o) | 返回特定元素在集合中第一次出现的位置 | |
ListIterator listIterator() | List集合特有的迭代器 | |
List subList(int fromIndex, int toIndex) | 根据开始索引和结束索引(左闭右开)返回一个新的集合,该集合是原集合的子集 | |
boolean hasNext() | 从前往后遍历 |
boolean hasPrevious() | 从后往前遍历,前提是先得从前往后遍历一遍,让迭代器指针走到末尾 |
List | Set | ||||
实现类 | ArrayList | LinkedList | HashSet | TreeSet | LinkedHashSet |
顺序 | 有序 | 有序 | 无序 | 有序 | 有序 |
重复 | 可重复 | 可重复 | 不可重复 | 不可重复 | 不可重复 |
空值 | 允许多个null | 允许多个null | 最多一个null | 最多一个null | 最多一个null |
索引 | 有索引 | 有索引 | 无索引 | 无索引 | 无索引 |
排序 | 存入顺序就是取出顺序 | 存入顺序就是取出顺序 | 不能排序 | 自然排序和比较器排序 | 存入顺序就是取出顺序 |
特点 | 查询快 | 增删首尾操作快 | 增删改查都快的五边形战士 | 唯一可以自定义排序 | 增删改查都快的五边形战士 |
底层 | 数组 | 链表 | 哈希表 | 红黑树 | 哈希表和双链表 |
凡是带list都可重复、有索引 | 凡是带set都不可重复、无索引 | ||||
凡是带hash都是五边形战士,增删改查都快 | 只有HashSet无序、不能排序 |
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |