一、集合与数组
二、集合类
JDK 中 主要的集合类分为两种 :Collection 和 Map
集合类框架图如下:
主要分为 collection和map两大类
Collection
collection接口是集合类中的一种基类,jdk中并没有它的实现类,而是set,list,queue接口继承他然后其他的类实现
是
Set 接口:它存放的数据 无序不重复,其中的元素不按顺序列,只是集中在一起
List接口: 它存放的数据 有序可重复,与索引有关,每个元与之对应的索引(下标),所以查询速度快,删除,插入时会伴随着数据的移动,故效率低
Queue接口:这个接口在工作中运用的很少,表示队列,是一种特殊的线性表,只能在前端删除 ,末端加入,像排队样不能插队;又称为先进先出线性表
ArrayList,Vector, LinkedList区别:
相同点:
ArrayList,Vector,LinkedList 都是以数组存储方式存储,每个元素都有对应的下标
不同点:
ArrayList:线程异步,所以线程不安全,里面的数据查询效率高,删除插入效率慢
Vector:线程同步,所以线程安全,里面的数据查询效率高,删除插入效率慢,Vector的增长率是当前集合长度的100%,ArrayList增长率是当前集合的50%,当带数据量大时
vector有优势
LinkedList:LinkedList实现了List接口和Queue接口,是用双向链表的形式存储数据的,遍历时需要前后双向,所以插叙比较慢,删除插入时,只需记录前后项即可,效率高
HashSet,LinkedHashSet,TreeSet的区别:
HashSet:它存放的数据 有序可重复
LinkedHashSet:按顺序插入排序,速度慢,与HashSet的区别是里面加入了双向链表
TreeSet
Map