(Java基础)集合框架继承体系

一、集合框架的层级结构

Java 集合框架(Java Collections Framework, JCF)提供了一套用于存储和操作数据的接口和类。

核心思想是 统一接口,分层设计,主要分为两大顶级接口:

  1. Collection:表示单元素集合。

  2. Map :表示键值对集合(映射),独立于 Collection。

    复制代码
    java.lang.Object
       └─ java.util.Collection(接口)
              ├─ List(接口)
              ├─ Set(接口)
              └─ Queue(接口)
    
    java.lang.Object
       └─ java.util.Map(接口)
              ├─ HashMap
              ├─ TreeMap
              └─ LinkedHashMap

注意:Map 并不是 Collection 的子接口。


二、Collection 系列

Collection 是单元素集合的顶层接口,主要定义了增删改查等操作。

Collection 有三个主要子接口:

  1. List

    • 特点:有序、允许重复元素。

    • 典型实现:ArrayList、LinkedList、Vector

  2. Set

    • 特点:无序、元素不可重复。

    • 典型实现:HashSet、LinkedHashSet、TreeSet

  3. Queue / Deque

    • 特点:用于队列操作,有先进先出(FIFO)和双端队列(Deque)。

    • 典型实现:PriorityQueue、ArrayDeque、LinkedList


三、Map 系列

Map 是键值对映射的顶层接口,独立于 Collection。

主要特点:

  • 每个 key 唯一,value 可以重复

  • 常用操作:put、get、remove、keySet、values、entrySet

常用实现类:

  • HashMap:基于哈希表,无序

  • LinkedHashMap:保持插入顺序

  • TreeMap:基于红黑树,有序(按 key 排序)

  • ConcurrentHashMap:线程安全版本


四、集合框架整体层级图

复制代码
java.lang.Object
   └─ java.util.Collection(接口)
          ├─ List(接口)
          ├─ Set(接口)
          └─ Queue(接口)

java.lang.Object
   └─ java.util.Map(接口)
          ├─ HashMap
          ├─ TreeMap
          └─ LinkedHashMap

小贴士:

  • Collection 操作单个元素;Map 操作键值对

  • Collection 支持迭代器(Iterator);Map 可以通过 keySet()/entrySet()/values() 获取迭代器

  • Map 与 Collection 在框架中平级,但不属于同一个继承链


五、面试简述版本

Java 集合框架分为 Collection 和 Map 两大顶层接口:

  • Collection 处理单元素集合,有 List、Set、Queue 等子接口

  • Map 处理键值对集合,有 HashMap、TreeMap、LinkedHashMap 等实现

  • Map 不继承 Collection,是独立的顶级接口

相关推荐
之歆2 小时前
Spring AI入门到实战到原理源码-MCP
java·人工智能·spring
LawrenceLan2 小时前
Flutter 零基础入门(十一):空安全(Null Safety)基础
开发语言·flutter·dart
yangminlei3 小时前
Spring Boot3集成LiteFlow!轻松实现业务流程编排
java·spring boot·后端
qq_318121593 小时前
互联网大厂Java面试故事:从Spring Boot到微服务架构的技术挑战与解答
java·spring boot·redis·spring cloud·微服务·面试·内容社区
txinyu的博客3 小时前
解析业务层的key冲突问题
开发语言·c++·分布式
J_liaty3 小时前
Spring Boot整合Nacos:从入门到精通
java·spring boot·后端·nacos
码不停蹄Zzz3 小时前
C语言第1章
c语言·开发语言
行者963 小时前
Flutter跨平台开发在OpenHarmony上的评分组件实现与优化
开发语言·flutter·harmonyos·鸿蒙
阿蒙Amon4 小时前
C#每日面试题-Array和ArrayList的区别
java·开发语言·c#
daidaidaiyu4 小时前
Spring IOC 源码学习 一文学习完整的加载流程
java·spring