根据约定俗成的习惯,我们提到“Java 集合(框架)”时,这个“集合”=“collection”+ “map”的非线程安全实现类(但包括 vectorStackHashTable 等遗留类),而将线程安全实现类归类到“并发”体系中。

    下面是一张 Java 集合框架(The Java Collections Framework)的结构示意图(未包含全部实现类)。
    集合.svg
    该图体现了 Java 集合框架最重要的两个特点:

    1. map 与 collection 无关(关于为什么 Map 不继承自 Collection ,可以参看官方解释);
    2. 接口和实现类分离

    同时,我们也应该正确把握“接口”与“实现类”之间的逻辑关系:

    • 接口 -> 声明方法 -> 决定了实现类的功能;
    • 实现类 -> 具体实现 -> 决定了类的使用特性。

    简而言之,对于接口,重点是记住接口声明的方法,并了解父接口与子接口之间的差异;对于实现类,重点是弄懂类的实现结构,以及这种结构的优缺点。