当前位置: 首页 > news >正文

【Java】一篇讲透Java中的集合类

Java中的集合类分为Collection接口和Map接口

一、Collection接口:

又派生为三个子接口,List、Set、Queue

1.List接口:

  • 元素有序,可以有重复元素

例如:

  • ArrayList :基于动态数组查询效率高插入/删除效率低
  • LinkedList :基于双向链表,插入/删除效率高,查询效率低。
  • Vector: 线程安全的动态数组,类似ArrayList,但是开销大。

2.Set接口:

  • 不能包含重复元素

例如:

  • HashSet:基于哈希表,元素无需。
  • LinkedHashSet::基于哈希表和链表,维护插入数据。
  • TreeSet::基于红黑树。

3.Queue接口:

  • PriorityQueue: 基于优先级堆,元素按照自然顺序或比较器排序
  • LinkedList: 可以作为队列使用,支持FIFO操作

二、Map接口:

key-value接口,可以通过key找到对应的value值。

  • HashMap:基于哈希表,键值对无序,不允许键重复。
  • LinkedHashMap:基于链表+哈希表,维护插入顺序,不允许键重复。
  • TreeMap:基于红黑树,键值对有序,不允许键重复。
  • Hashtable线程安全的哈希表不允许键或值为null。
  • ConcurrentHashMap线程安全的哈希表,适合高并发环境,不允许键或值为null。
http://www.xdnf.cn/news/237403.html

相关文章:

  • 多智能体协同作战:MagenticOne如何指挥一支AI团队
  • 什么是工业互联网平台?
  • kbuild system学习
  • 浮阀塔精馏分离乙醇-水溶液工艺设计研究
  • 从实列中学习linux shell4: shell 脚本中 $0 $1 $2 $3 >> 以及 awk 都是干啥的?
  • FastAPI系列12:使用JWT 登录认证和RBAC 权限控制
  • 前端笔记-Element-Plus
  • python安装和环境配置,开发方法简要步骤。
  • Android 自带的分享功能分享到三方应用
  • ProfiNet转CAN协议转换网关数据交互实现:工业自动化异构网络无缝对接
  • [250429] 免费!DeepSeek-R1T-Chimera 合并 R1 和 V3, 在 OpenRouter 上可用
  • 2025华东杯ABC题赛题已出速拿
  • ​​智能制造中的预测性维护:基于深度学习的设备故障预测​​
  • 矫平机:金属板材精密加工的“整形专家”
  • 在 Linux 系统中,让线程主动放弃当前 CPU 时间片
  • MySQL8.0创建数据库,该如何选择字符集,是选择utf8mb4还是utf8mb3
  • Java 表达式及运算符的优先级与结合性入门
  • 机器学习——特征选择
  • SEO与国际化
  • 简易C++内存追踪方案:监控动态内存分配与释放
  • 添加了addResourceHandlers 但没用
  • 墨西哥游戏出海推广本土网盟cpi广告策略
  • openEuler 22.03 安装 Redis 6.2.9,支持离线安装
  • TCL中环深化全球布局,技术迭代应对行业调整
  • 计算递归关系下的合计~极简方法
  • 用-智-多多-拼-好文的故事-2025
  • Windows编译及使用fdk-aac编码器
  • 力扣hot100——98.验证二叉搜索树
  • 论MMUSMMUIOMMU
  • 分支限界法:用“快递分拣”思维解决复杂问题的算法艺术