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。
相关推荐
HerayChen1 小时前
HbuilderX 内存溢出报错
java·大数据·linux
程序员小白条2 小时前
0经验如何找实习?
java·开发语言·数据结构·数据库·链表
小马爱打代码2 小时前
Spring AI:搭建自定义 MCP Server:获取 QQ 信息
java·人工智能·spring
郭涤生2 小时前
QT 架构笔记
java·数据库·系统架构
daidaidaiyu2 小时前
基于LangGraph开发复杂智能体学习一则
java·ai
小小8程序员3 小时前
STL 库(C++ Standard Template Library)全面介绍
java·开发语言·c++
a努力。3 小时前
Redis Java 开发系列#2 数据结构
java·数据结构·redis
a努力。3 小时前
腾讯Java面试被问:String、StringBuffer、StringBuilder区别
java·开发语言·后端·面试·职场和发展·架构
Vic101015 小时前
解决 Spring Security 在异步线程中用户信息丢失的问题
java·前端·spring
QD_IT伟5 小时前
SpringBoot项目整合Tlog 数据链路的规范加强
java·spring boot·后端