Java集合可以分为两类,其中Collection是存储元素,Map是存储键值对。
Collection又可以分为List(元素有序且可重复),Set(元素无序且不可重复)。今天先说说List。
List常见的实现类有:
1.ArrayList
底层数组:查询快,增删慢
扩容方式:1.5倍+1
常用方法:添加add(e),add(index,e),修改set(index,e)移除remove(index),remove(e),removeAll(e),查询get(index)
2.LinkedList
底层双向链表:查询慢,增删快
无限扩容
常用方法:同ArrayList
3.Vector以及子类Stack
线程安全
底层数组:查询快,增删慢
扩容方式:2倍
常用方法:同ArrayList
Stack
常用方法:push(),pop(),peek()
还有一种特殊的list即Queue,也就是仅两端可出入的List。该接口实现类有LinkedList。其余实现类还有ArrayDeque。
1.ArrayDeque
底层数组
作为队列使用常用方法:add()(尾部),poll(),peek()(头部)
作为栈使用常用方法:push(),pop(),peek()(操作都是头部)