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。
相关推荐
jiaguangqingpanda23 分钟前
Day28-20260124
java·数据结构·算法
Java程序员威哥24 分钟前
SpringBoot2.x与3.x自动配置注册差异深度解析:从原理到迁移实战
java·大数据·开发语言·hive·hadoop·spring boot·后端
cheems952729 分钟前
【javaEE】文件IO
java
微露清风1 小时前
系统性学习Linux-第一讲-Linux基础指令
java·linux·学习
tqs_123451 小时前
tcc中的空回滚和悬挂问题
java·数据库
MX_93591 小时前
以配置非自定义bean来演示bean的实例化方式
java·开发语言·后端
哪里不会点哪里.1 小时前
Spring 事务机制详解:原理、传播行为与失效场景
java·数据库·spring
风筝在晴天搁浅1 小时前
hot100 102.二叉树的层序遍历
java·算法
lina_mua2 小时前
Cursor模型选择完全指南:为前端开发找到最佳AI助手
java·前端·人工智能·编辑器·visual studio
秋92 小时前
idea中如何使用Trae AI插件,并举例说明
java·人工智能·intellij-idea