Java集合

集合分类

Collection:是所有单列集合的根接口,定义了基本的集合操作(添加、删除、清空);

Map:是所有双列集合的根接口,即键和值;

 

单列集合介绍:

List:有序集合、元素可重复、可通过索引访问集合中的元素

ArrayList:基于动态数组(默认为10,每次扩容为上次长度的二分之一)、有序、非线程安全、元素可以为null、可重复、查询快、插入删除慢(适合频繁读取的场景)

LinkedList:基于双向链表、有序、非线程安全、插入删除操作效率高、查询效率不高(适合频繁修改的场景)

Vector:基于动态数组、有序、可重复、查询快、插入删除慢、线程安全

Stack:基于动态数组、后进先出、线程安全

Set:无序集合、元素不可重复

HashSet:底层是HashMap(HashSet按照Hash算法来存储集合中的元素)、无序、唯一、允许为null、非线程安全、存取速度比较快

TreeSet:底层是TreeMap、有序、唯一、不允许为null

LinkedHashSet:底层是LinkedHashMap

Queue:ArrayDeque数组实现的双端队列,可以在队列两端插入和删除元素,数组队列,先进先出(FIFO),和LinkedList一样也是双向链表

PriorityQueue优先队列,保存队列元素的顺序并不是按照加入的顺序,而是按照队列元素的大小进行排序的,数组实现的二叉树,完全二叉树实现的小顶堆(任意一个非叶子节点的权值,都不大于其左右子节点的权,不允许插入null元素

Deque:接口是Queue接口的子接口,它代表一个双端队列,当程序中需要使用“栈”这种数据结构时,推荐使用ArrayDeque

双列集合介绍:

HashMap:Map 接口使用频率最高的实现类,非线程安全(线程安全类ConcurrentHashMap)、允许null键null值、键不能重复、值可以重复、无序

LinkedHashMap:有序

HashTable:不允许null值null键、线程安全(并发性不如ConcurrentHashMap,不建议用)

Properties:用于处理属性文件,键和值都是字符串类型

TreeMap:实现SortMap接口,为了方便进行key排序操作提供了TreeMap集合,当用Iterator遍历TreeMap时,得到的记录是排过序的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值