【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 效率高

相关推荐
布吉岛的石头14 小时前
Java 岗,面试常问 100 题(精简版)
java·开发语言·面试
sinat_2554878114 小时前
收藏品·学习笔记
java·javascript·windows·学习·microsoft
一碗面42114 小时前
Spring AI 多模态能力全景
java·spring·spring ai
01漫游者14 小时前
JavaScript内存管理与闭包
开发语言·javascript·ecmascript
信徒_14 小时前
服务治理技术选型
java
枕星而眠14 小时前
C语言数组专题:从一维到二维,吃透内存与指针
java·数据结构·算法
Andya_net14 小时前
Spring | 深度剖析Spring Bean的生命周期:从加载到销毁的完整流程
java·spring·rpc
玛卡巴卡ldf14 小时前
【Springboot升级AI】(大模型部署)LangChain4j、会话记忆、隔离消失持久化问题、ollama、RAG知识库、Tools工具
java·开发语言·人工智能·spring boot·后端·springboot
zmzb010314 小时前
C++课后习题训练记录Day120
开发语言·c++
Maiko Star14 小时前
Spring AI 多轮对话记忆(ChatMemory)保姆级教程:从内存版到 Redis 持久化
java·redis·spring