java常用集合(概念篇)

ArrayList(数组)

    1. 元素的内存地址是连续的
    2. 每个元素都有索引
    3. 数组的内存地址就是首个元素的内存地址
    4. 每个元素所占位置的内存空间相等

LinkedList(双向链表)

    1. 每个元素储存自己上一个元素和下一个元素的内存地址

HashSet(哈希表)

    1. 数组和单项链表的融合
    2. 数组中的每一个元素储存的是每条单项链表的首个元素
    3. 单向链表的每一个元素储存了下一个元素的内存地址

TreeSet(自平衡二叉树)

    1. 每个元素可以有一个左子树,和一个右子树,这个元素相当于两个子树的根
    2. 存储数据时会与已存在的元素进行比较,小于这个元素的放到它的左子树中,大于它的放到它的右子树中
    3. 采用左根右的顺序遍历数据,遍历出的数据相当于自动升序

Map

    1. Map的键与Set是对应的,Set就相当于把值储存在Map的键中
    2. 用操作Set的方式操作Map的键,然后再根据键取出值
    3. 将Map的一个键值对变成一个对象储存在Set中,变成Set的一个元素,然后再操作Set

Vector

    1. 相当于是线程安全但是效率低的ArrayList

Hashtable

    1. 是Properties的父类
    2. 相当于是线程安全但是效率低的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应用必不可少的技术
点击右上角即可分享
微信分享提示