1.Collection是什么?有什么方法?
集合是存储多个元素的容器。单列集合每次存取都是一个元素。
Collection是单列集合顶层接口。
定义了所有单列集合通用方法。
public boolean add(E e) 添加对象到集合中
public void clear() 清空集合
public boolean remove(E e) 删除指定对象
public boolean contains(Object obj) 判断当前集合中是否包含给定的对象
public boolean isEmpty() 判断当前集合是否为空
public int size() 返回集合中元素的个数
public Object[] toArray() 把集合中的元素,存储到数组中
2.Collection遍历方式
迭代器
增强for
forEach--lambda
3.Collection两个子接口特点
List集合: 有序,有索引,元素可以重复。
Set集合: 唯一,无序,没索引。
有序:存取顺序一致。
无序:不保证存取顺序一致。
4.List集合常用的子类有哪些?
ArrayList
LinkedList
Vector (不常用,已淘汰)
5.ArrayList集合有什么特点?
底层是数组结构,是连续的空间。
查询快,增删慢。
6.ArrayList集合存储元素的原理你知道吗?
底层是数组结构。
①利用无参构造创建一个集合对象,底层是一个默认的空数组。
②执行add方法,添加第一个元素,会创建一个长度为10的数组,把元素存进去。
③添加长度超过10的时候,默认进行扩容,扩容原数组长度的1.5倍。
④如果一次添加的长度超过了1.5倍,这个时候以实际长度为主(原数组长度+新的元素个数)。
7.LinkedList集合有什么特点?
底层是双向链表,由结点组成。
查询慢,增删相对快。尤其它里面对首尾结点更加快。
8.ArrayList集合适合什么场景? 主要适合大量查询的时候
LinkedList集合适合什么场景?主要适合频繁进行增删的时候。
特点 用来设计 队列 和 栈。
9.队列结构特点及栈结构特点?
队列:先进先出FIFO。
栈:先进后出FILO。