Java:集合

Collection和Map接口

Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念:Collection和Map。
书中提到这样一行代码List<Apple> apples = new ArrayList<Apple>并配上说明:ArrayList向上转型为List。读到这里我很迷惑,难道不是所有的容器都继承自Collection或者Map接口吗,为什么还会有一个List是ArrayList的父类呢?
通过查找资料得到这样两张图表述了Collection和Map两个大接口及其子接口的关系。