JAVA面试基础篇(JAVA集合)(一)之介绍

本文详细介绍了Java集合框架的各类实现,包括List、Set、Map和Queue的主要实现方式及其特性,并对比了传统集合类与JUC集合类的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 前言

本次重新撰写技术类文章,不为别的,只为整理自己日常所学,亦为了大家共同交流努力的目的。文章以面试为目的,故不在赘述java中特别基础的部分,如基本数据类型,线程基本实现等。

java集合分为两大类:一类是Collection下的List,set,queue;另外一类是map

 传统的JAVA集合类

1.List的主要实现

list的实现

特点

ArrayList

动态数组,底层基于数组实现,线程不安全

LinkedList

双重链表实现的队列,线程不安全

Stack

先进后出,基于Vector实现,线程安全

Vector

动态数组,线程安全

2.Set的主要实现

Set的实现

特点

HashSet

基于HashMap实现,元素不可重复,迭代无序

TreeSet

基于TreeMap实现(NavigableSet),元素无序,不重复

LinkedHashSet

元素有序,维护一个双重链表以保证有序

3.Map的主要实现

Map的实现

特点

HashMap

基于哈希表的 Map 接口的实现,线程不安全

TreeMap

基于红黑树(Red-Black tree)的 NavigableMap 实现,该类的<k,v>是有序,线程不安全

HashTable

基于哈希表的Map实现,线程安全

WeakHashMap

以弱键 实现的基于哈希表的 Map。在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条目。该类是非线程安全的

三 JUC集合类

1.List的主要实现

list的实现

特点

CopyOnWriteArrayList

相当于线程安全的ArrayList,它实现了List接口,读写分离,他是线程安全的

2.Set的主要实现类

Set的实现

特点

CopyOnWriteArraySet

相当于线程安全的HashSet,内部使用 CopyOnWriteArrayList

ConcurrentSkipListSet

一个基于 ConcurrentSkipListMap 的可缩放并发 NavigableSet 实现,内部排序是有序的

3.Map的主要实现类包括

Map的实现

特点

ConcurrentHashMap

支持获取的完全并发和更新的所期望可调整并发的哈希表

ConcurrentSkipListMap

可缩放的并发 ConcurrentNavigableMap 实现,内部排序是有序的Map,该类为线程安全的

4.Queue的主要实现类

Queue的实现

特点

ArrayBlockingQueue

一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序

LinkedBlockingQueue

一个基于已链接节点的、范围任意的 blocking queue。此队列按 FIFO(先进先出)排序元素

LinkedBlockingDeque

一个基于已链接节点的、任选范围的阻塞双端队列

ConcurrentLinkedQueue

一个基于链接节点的无界线程安全队列。此队列按照 FIFO(先进先出)原则对元素进行排序

ConcurrentLinkedDeque

是双向链表实现的无界队列,该队列同时支持FIFO和FILO两种操作方式

更多内容关注我哦:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩渃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值