java常用集合(概念篇)
ArrayList(数组)
-
- 元素的内存地址是连续的
- 每个元素都有索引
- 数组的内存地址就是首个元素的内存地址
- 每个元素所占位置的内存空间相等
LinkedList(双向链表)
-
- 每个元素储存自己上一个元素和下一个元素的内存地址
HashSet(哈希表)
-
- 数组和单项链表的融合
- 数组中的每一个元素储存的是每条单项链表的首个元素
- 单向链表的每一个元素储存了下一个元素的内存地址
TreeSet(自平衡二叉树)
-
- 每个元素可以有一个左子树,和一个右子树,这个元素相当于两个子树的根
- 存储数据时会与已存在的元素进行比较,小于这个元素的放到它的左子树中,大于它的放到它的右子树中
- 采用左根右的顺序遍历数据,遍历出的数据相当于自动升序
Map
-
- Map的键与Set是对应的,Set就相当于把值储存在Map的键中
- 用操作Set的方式操作Map的键,然后再根据键取出值
- 将Map的一个键值对变成一个对象储存在Set中,变成Set的一个元素,然后再操作Set
Vector
-
- 相当于是线程安全但是效率低的ArrayList
Hashtable
-
- 是Properties的父类
- 相当于是线程安全但是效率低的HashMap
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术