集合
分为Collection单列集合和Map双列集合
蓝色框表示接口。
红色框表示实现类。
一次存入单个元素的是单列集合
一次存入一对儿元素的是双列集合
Collection(单列集合):分为 List集合元素可重复 与 Set集合 元素不可重复
List集合又可以分为:ArrayList 与 LinkedList 两种
Set集合分为: HashSet 与 TreeSet
Map(双列集合) :分为 HashMap 与 TreeMap
Collection:顶级接口
Collection是顶层接口,表示一组对象,这些对象也称为Collection的元素
JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现
创建Collection集合的对象用多态的方式
Collection集合常用方法:
boolean add(E e) 添加元素
boolean remove(Object o) 从该集合中删除指定元素
boolean removeIf(Predicate<? super E> filter)根据条件进行删除
int size() 返回此集合中的元素数。
void clear() 从此集合中删除所有元素
boolean isEmpty() 如果此集合不包含元素,则返回 true
boolean contains(Object o) 如果此集合包含指定的元素,则返回true
Collection集合遍历的方法:
1,普通for循环
2,增强for循环
3,迭代器遍历
迭代器:Iterator it = 对象名.iterator();
//创建迭代器对象,默认指向集合的0号索引
Iterator<String> it = 对象名.iterator();
//判断当前位置是否有元素可以被取出,返回boolean
while(it.hasNext){
//取出当前元素,并将迭代器往后移动一个索引的位置
System.out.println(it.next());
}
增强for循环:for(数据类型 变量名 :集合名){ 语句体 }
增强for循环底层是以迭代器实现的
List接口:继承Collection
实现类: ArrayList类 LinkedList类
Arraylist类:底层数据结构以数组实现,特点是增删慢,查询快。
list集合的特有方法:
void add(int index, E element) 在指定索引插入指定的元素
E remove(int index) 指定索引删除该列表的元素,返回被删除的元素
E set(int index, E element) 修改指定索引的元素,返回被修改元素
E get(int index) 返回指定索引的元素
注意:List集合的特有方法都是有关于索引有关的
LinkedList:底层数据结构以链表实现,特点是增删快,查询慢(对于数组而言)
LinkedList集合的特有方法:
void addFirst(E e) 在该列表开头插入指定的元素
void addLast(E e) 将指定的元素追加到此列表的末尾
E getFirst() 返回此列表中的第一个元素。
E getLast() 返回此列表中的最后一个元素。
void addFirst(E e) 在该列表开头插入指定的元素。
void addLast(E e) 将指定的元素追加到此列表的末尾。
E removeFirst() 从此列表中删除并返回第一个元素。
E removeLast() 从此列表中删除并返回最后一个元素。
多以头尾,(first,last) 开头的方法:对链表的头尾进行操作