集合类学习角度及学习内容分类
学习角度
通常,在我们关注集合类的时候,我们关注的是它们的以下几点
- 存储数据结构
- 容量和扩容方式
- 线程安全及实现方法
- 增删改查的实现(包括一些常用API的实现)
除此之外,各个类还有一些需要各自注意的点,如List接口的迭代器和其子类等。
学习内容
首先,最关键的是集合类的类结构,可以从总体上把握集合类的设计思路和使用场景。
如图所示,是主要集合类的类结构,其中,红色字体代表是接口,黑色字体代表是类;集合类还有一些较为重要的类,如Iterator迭代器、Collections、Arrays等工具类。
综上,从内容上看,一共有四个模块需要学习
- Map:【LinkedHashMap与LRU+ConcurrentHashMap与HashMap+TreeMap与红黑树】
- List :【两种List+Queue+Vector+Stack】
- Set: 【LinkedHashSet+TreeSet+HashSet】
- 工具类:Iterator迭代器、Collections、Arrays等工具类(主要穿插在前三个模块中学习)
其中,除了四个固定的学习角度【数据结构】【容量扩容】【线程安全】【增删改查】,Map系列要注意一些重要的算法(LRU、红黑树)等,Set系列要注意有序无序等。