集合
目标:
- 会使用集合存储数据
- 会遍历集合,把数据取出来
- 掌握每种集合的特性
集合框架的学习方式:
1、 学习顶层:学习顶层接口/抽象类中共性的方法,所有子类都可以用
2、使用底层,顶层中不是接口就是抽象类,无法创建对象使用,需要使用底层的子类创建对象使用。
Collection接口
定义的是所有单列集合中共性的方法
所有的单列集合都可以使用共性方法
没有带索引的方法
包括 List接口 、 Set接口
List接口
- 有序的集合(存储和取出元素顺序相同)
- 允许存储重复的元素
- 有索引,可以使用普通的for循环遍历
包括: Vector集合 、ArrayList集合 、 LinkedList集合
Set接口
- 不允许存储重复元素
- 没有索引(不能使用for循环遍历)
包括: TreeSet集合 、 HashSet集合 、 LinkedHashSet集合
ArrayList:底层是数组实现的,查询快、增删慢
LinkedList:底层是链表实现的,查询慢、增删快
Set集合:无索引、不可以存储重复元素、存取无序
HashSet:底层是哈希表+(红黑树)实现的,不可以存储重复元素
LinkedHashSet:底层是哈希表+链表实现的,无索引、不可以存储重复元素、可以保证存取顺序
TreeSet:底层是二叉树实现的,一般用于排序
Collection常用功能
public boolean add(E e) 把给定对象添加到当前集合中
public void clear() 清空集合中的所有元素
public boolean remove(E e) 把给定的对象从集合中删除
public boolean contains(E e) 判断当前集合是否包含给定对象
public boolean isEmpyt() 判断当期集合是否为空
public int size() 返回集合中元素个数
public Object[] toArray(): 把集合中的元素,存储到数组中