【Java】 Java 集合框架

Java 集合框架

Java 集合框架图 ⭐

关键特性

特性 ArrayList LinkedList HashSet TreeSet HashMap TreeMap
底层结构 动态数组 双向链表 哈希桶 红黑树 哈希桶 红黑树
是否有序 插入顺序 插入顺序 无序 自然/比较器顺序 无序 key有序
是否允许null 允许 允许 一个null 不允许(null会NPE) key/value均允许 key不允许null
主要时间复杂度 get/set O(1) add/remove O(n) get O(n) add/remove O(1) 增删查 O(1) 增删查 O(log n) 增删查 O(1) 增删查 O(log n)
线程安全

注:需要线程安全时,使用 Collections.synchronizedXXXjava.util.concurrent 包下的类(如 ConcurrentHashMap)。

记忆口诀

List 有序可重复,Array 快查 Link 快改

Set 唯一不重复,Hash 快查 Tree 有序

Map 存键值对,Hash 无序 Tree 有序

队列 Queue 和 Deque,ArrayDeque 是首选

并发场景找 JUC,Concurrent 效率高

相关推荐
十月的皮皮5 分钟前
stm20260720-从新手 C 到量产 STM32 工程:程序设计推导指南
c语言·开发语言·stm32·stm32cubemx·hal库
驰骋工作流8 分钟前
流程引擎BPM设计之:流程消息
java·工作流引擎·bpm·jflow·ccflow
dogstarhuang14 分钟前
从 0 到 1 搭建可收费的 API 开放平台(实战)
java·架构·api
VortMall1 小时前
『平台去经营化』平台治理能力全新重构|VortMall微服务商城系统v1.3.10
java·大数据·微服务·商城系统·开源商城·vortmall·去经营化
Echo缘1 小时前
嵌入式系统C语言资源分类与内存分布分析
c语言·开发语言
吴声子夜歌1 小时前
Redis 3.x——集群故障转移
java·数据库·redis·集群
Java面试题总结1 小时前
mybatis插件
java·tomcat·mybatis
JaneConan1 小时前
鸿蒙 ArkUI 深水区:@Watch 和 @Observed,状态变了「自动跑」+ 嵌套对象「深层重绘」
开发语言·后端·ui·harmonyos
赤水无泪1 小时前
qt中图标、名称的设置方式
开发语言·qt
王莎莎-MinerU1 小时前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php