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

相关推荐
知南x1 小时前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言
忆~遂愿1 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Ro Jace1 小时前
计算机专业基础教材
java·开发语言
代码游侠2 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
mango_mangojuice2 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
程序员侠客行2 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
devmoon2 小时前
运行时(Runtime)是什么?为什么 Polkadot 的 Runtime 可以被“像搭积木一样”定制
开发语言·区块链·智能合约·polkadot·runtmie
时艰.2 小时前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存
丶小鱼丶2 小时前
并发编程之【优雅地结束线程的执行】
java
市场部需要一个软件开发岗位2 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全