一、集合和Map两个误区

  1. ✅ Map 不属于 Collection 集合体系不是集合子集!

    • 集合根接口:Collection
    • Map 是独立一套:Map → 键值对
  2. ✅ 字符串 String 和集合完全没关系String 是单独的文本类,不属于集合、不属于队列。


二、Java 两大容器体系(必考)

1️⃣ Collection 单列集合(存单个元素)

Collection 【根接口】
├─ List  (有序可重复)
│  ├─ ArrayList
│  └─ LinkedList
├─ Set   (无序不可重复)
└─ Queue 【队列】(队列、栈都归这里)
   └─ Deque (双端队列,既能当队列,又能当栈)

👉 Queue、Deque、栈实现类 都属于 Collection 分支,都有 isEmpty()


2️⃣ Map 双列集合(存 key-value 键值对)

Map 【独立根接口,和 Collection 平级】
├─ HashMap
├─ LinkedHashMap
└─ TreeMap

✅ 平级关系:Collection 与 Map 互相独立,没有父子关系只是 Map 也贴心提供了 isEmpty() 方法而已。


三、String 是谁的子类?

public final class String implements Comparable, CharSequence, Serializable
  • 父类直接是:Object
  • 和 List、Set、Queue、Map 半点继承关系没有
  • 只是自己单独写了一个 isEmpty() 实例方法

四、谁有 isEmpty () 总结

  1. Collection 体系List / Set / Queue / Deque / 栈实现类 → 都有
  2. Map 体系HashMap、Map 所有实现类 → 都有
  3. String单独自带 isEmpty ()
  4. 数组 ❌ 没有 isEmpty ()数组只能手写判断

五、一句话极简背诵

  1. 队列、List、Set 👉 属于 Collection 集合
  2. Map 👉 和集合平级,不属于集合
  3. String 👉 独立文本类,跟集合没关系
  4. 以上三类都有 isEmpty(),唯独数组没有。

更多推荐