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

相关推荐
zerozrc01 分钟前
Java 方法调用的底层原理
java·后端
星火10249 分钟前
【LangChain4j系列01】LangChain4j 快速入门与核心概念
java·人工智能
SemiTris15 分钟前
从Controller到Tomcat底层请求链路全解析
java·tomcat
特立独行的猫a17 分钟前
我用 Rust + Tauri 2 复刻了 N_m3u8DL-CLI:一个 m3u8 多线程下载器
开发语言·后端·rust·m3u8·视频下载器·m3u8dl-cli
月光有害18 分钟前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端·spring
程序员雷欧20 分钟前
LongAdder
开发语言·python
码农进化录24 分钟前
Java 程序员的 AI 进化论 | 用 AI 生成 Spring Boot 脚手架,省下两小时重复劳动
java·spring boot·openai
鱼子星_33 分钟前
【C++】反向迭代器:反向迭代器的底层认识与模拟实现
开发语言·c++·笔记·stl
名字还没想好☜34 分钟前
Java 用 MethodHandle 替代反射:调用性能实测、invokeExact 的坑与缓存
java·开发语言·缓存·反射·methodhandle
SMF191937 分钟前
【Linux】完美解决缩略图工具gm调用java.io.FileNotFoundException: gm问题
java·开发语言·python