(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,是独立的顶级接口

相关推荐
小成202303202651 小时前
Linux高级02
linux·开发语言
camellias_1 小时前
【无标题】
java·tomcat
知行合一。。。1 小时前
Python--04--数据容器(总结)
开发语言·python
咸鱼2.02 小时前
【java入门到放弃】需要背诵
java·开发语言
ZK_H2 小时前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
A.A呐2 小时前
【C++第二十九章】IO流
开发语言·c++
椰猫子2 小时前
Java:异常(exception)
java·开发语言
lifewange2 小时前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
cmpxr_2 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
2401_827499993 小时前
python项目实战09-AI智能伴侣(ai_partner_5-6)
开发语言·python