Java中List、Set、Map的特点

来源:互联网 发布:sql添加语句 编辑:程序博客网 时间:2024/06/05 09:26

Java集合主要包括List、Set、Map三种,其中List、Set继承Collection接口。现在简单介绍一下三者的特点。
这里写图片描述

List:有顺序,可以存放重复元素
ArrayList:数组方式存储数据,索引数据快,插入数据慢,线程不安全
Vector:数组方式存储数据,索引数据快,插入数据慢,线程安全
LinkedList:双向链表实现存储,索引数据慢,插入数度较快,线程不安全

Set:无顺序,不可以存放重复元素
HashSet:为快速查找设计的Set,存入HashSet的对象必须定义hashCode()
TreeSet: 保存次序的Set, 底层为树结构,使用它可以从Set中提取有序的序列

Map:键唯一,值可以存放重复元素
HashMap:基于散列表的实现,允许空键空值,线程不安全
Hashtable:基于散列表的实现,允许空键空值,线程安全
TreeMap:基于红黑树数据结构的实现,不允许空键空值,线程不安全

0 0