JAVA中的集合有哪些???

引言;

Java 中的集合类主要分为两大类:Collection 接口和 Map 接口。前者是存储对象的集合类,后者存储的是键值对(key-value)。

(这是在IntelliJ IDEA中使用Diagram功能来操作绘制的UML类图)

Set(实现类)

  • HashSet: 基于哈希表,元素无序,不允许重复。
  • LinkedHashSet: 基于链表和哈希表,维护插入顺序,不允许重复。
  • TreeSet : 基于红黑树,元素有序,不允许重复。

List(实现类)

  • ArrayList: 基于动态数组,查询速度快,插入、删除慢。
  • LinkedList: 基于双向链表,插入、删除快,查询速度慢。
  • Vector: 线程安全的动态数组,类似于 ArrayList,但开销较大。

Queue(实现类)

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

Map(实现类)

存储的是键值对,给对象(value)设置了一个 key,这样通过 key 可以找到那个 value。

  • HashMap: 基于哈希表,键值对无序,不允许键重复。
  • LinkedHashMap: 基于链表和哈希表,维护插入顺序,不允许键重复。
  • TreeMap : 基于红黑树,键值对有序,不允许键重复。
  • Hashtable: 线程安全的哈希表,不允许键或值为 nul。
  • ConcurrentHashMap: 线程安全的哈希表,适合高并发环境,不允许键或值为 null。
相关推荐
EXI-小洲4 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
2601_961901705 小时前
SpringBoot使用Nacos进行application.yml配置管理
java·spring boot·spring
何以解忧,唯有..5 小时前
LangChain 工具调用(Tool Calling)实战指南
java·前端·langchain
QQ_21696290966 小时前
【源码编号:project79475】SpringBoot校内二手交易平台:商品发布、分类检索、留言交流、订单管理全流程实战
java·spring boot·后端
前端 贾公子7 小时前
第09章:上下文与记忆 (2)
java·服务器·前端
2601_962203517 小时前
Java进阶07集合(续)
java·开发语言
郑州光合科技余经理7 小时前
本地生活服务系统:模块边界与结算字段怎么拆
java·开发语言·前端·后端·系统架构·uni-app·php
roman_日积跬步-终至千里8 小时前
【数据治理(6)】DataOps 不是调度工具,而是让数据产品长期可信的运行机制
java·服务器·网络
落魄大学生之流水线上谋生计8 小时前
LangGraph 基本用法指南
java·windows·python·langchain
2601_962128418 小时前
SpringBoot篇(缓存层)
java·spring boot·缓存