一.Collection接口
1.collection集合概述
- -collection是单列集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
- JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现
2.创建Collection集合的对象
- 可以通过多态的方式创建
- 可以通过具体的实现类ArrayList
3.Collection集合常用方法
标题 | |
---|---|
boolean add(E,e) | 添加元素 |
boolean remove(Object o) | 从集合中移除指定元素 |
void clear() | 清空集合中的元素 |
boolean contains(Object o) | 判断集合中是否存在指定元素 |
boolean isEmpty() | 判断集合是否为空 |
int size() | 集合的长度,也就是集合中元素的个数 |
4.Collection集合的遍历
lterator:迭代器,集合专用遍历方式
- lterator iterator():返回此集合中元素的迭代器,通过集合的itertor()方法得到
- 迭代器是通过集合的iterator()方法得到的,所以我们说他是依赖于集合而存在的
lterator中的常用方法
- E next():返回迭代的下一个元素
- Boolean hasNext():如果迭代具有更多元素,则返回true
二.List接口
1.List集合概述和特点
- List集合是有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素
- 与Set集合不同,列表通常允许重复的元素
list集合特点
- 有序:存储和取出的元素顺序一致
- 可重复:存储的元素可以重复
2.List集合特有方法
标题 | |
---|---|
void add(int index,E element) | 在此集合中的指定位置插入指定的元素 |
E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
E get(int index) | 返回指定索引处的元素 |
3.Listlterator
Listlterator:列表迭代器
- 通过List集合的listlterator()方法得到。所以说它是List集合特有的迭代器
4.List集合子类特点
List集合常用子类:ArrayList,LinkedList
- ArrayList:底层数据结构是数组,查询快,增删慢
- LinkedList:底层数据结构是链表,查询慢,增删快
5.LinkedList集合的特有方法
标题 | |
---|---|
public void addFirst(E e) | 在该列表开头插入指定的元素 |
public void addLast(E e) | 将指定的元素追加到此列表的末尾 |
public E getFirst() | 返回此列表中的第一个元素 |
public E getLast() | 返回此列表中的最后一个元素 |
public E removeFirst() | 从此列表中删除并返回第一个元素 |
public E removeLast() | 从此列表中删除并返回最后一个元素 |
三.Set集合概述和特点
1.Set集合特点
- Set是不包含重复元素的集合、
- 没有带索引的方法,所以不能使用普通for循遍历
2.HashSet集合概述和特点
- 底层数据结构是哈希表、
- 对集合的迭代顺序不做任何保证,也就是说不保证存储和取出的元素顺序一致
- 没有带索引的方法,所以不能使用普通for循环遍历
- 由于是Set集合,所以是不包含重复元素的集合
3.LInkedHashSet集合概述和特点
- 哈希表和链表实现的Set接口,具有可预测的迭代次序
- 由链表保证元素有序,也就是说元素的存储和取出顺序是一致的
- 由哈希表保证元素唯一,也就是说没有重复的元素
4.TreeSet集合概述和特点
- 元素有序,这里的顺序不是指存储和取出的顺序,而是按照一定规则进行排序,具体排序方式取决于构造方法
-- TreeSet():根据其元素的自然排序进行排序 -- TreeSet(Comparator comparator):根据指定比较器进行排序
- 没有带索引的方法,所以不能使用普通for循环进行遍历
- 由于是Set集合,所以不包含重复元素的集合