国庆节10月1日
--


嘿,今天咱们不聊虚的,直接上干货——集合,Java里最常用也最容易踩坑的一块。你是不是也经历过:数组太死板,扩容麻烦;写个增删改查绕来绕去?别急,集合就是来帮你“减负”的。它灵活、好用、API还贴心,但前提是你得摸清List、Set、Map各自的脾气。来,一起理清楚它们怎么用、为啥这么设计、又该在什么场景下选谁 👇
Java集合主要分为两大类:单列集合 (Collection) 和 双列集合 (Map)。


底层结构:对象数组 Object[] elementData。

线程安全:线程安全(方法带有 synchronized 关键字),但效率较低。
扩容机制:
与 ArrayList 比较
| 底层结构 | 版本 | 线程安全 | 效率 | 扩容倍数 | |
|---|---|---|---|---|---|
| ArrayList | 可变数组 | JDK1.2 | 不安全 | 高 | 无参:首次10,后续1.5倍;有参:直接1.5倍 |
| Vector | 可变数组 | JDK1.0 | 安全 | 不高 | 无参:默认10,满后2倍;有参:满后2倍 |
| 底层结构 | 增删效率 | 改查效率 | |
|---|---|---|---|
| ArrayList | 可变数组 | 较低(数组扩容) | 较高 |
| LinkedList | 双向链表 | 较高(链表追加) | 较低 |
| 版本 | 线程安全 | 效率 | 允许null键值 | |
|---|---|---|---|---|
| HashMap | JDK1.2 | 不安全 | 高 | 可以 |
| Hashtable | JDK1.0 | 安全 | 较低 | 不可以 |
Collections 是一个操作 Set、List 和 Map 等集合的工具类,提供了一系列静态方法。
如果你喜欢,那么欢迎来到我的世界!
了解更多暂未播放



"所有的相遇都是久别重逢。"—— 未知


