第11章 持有对象 216
这一章是初步介绍容器也就是集合的知识点:List、Set、Map、Queue
11.1 泛型和类型安全的容器 216
11.2 基本概念 219
11.3 添加一组元素 220
1 | Arrays.asList() |
11.4 容器的打印 221
11.5 List 223
ArrayList LinkedList
11.6 迭代器 226
11.6.1 ListIterator 227
ListIterator是一个功能更加强大的, 它继承于Iterator接口,只能用于各种List类型的访问。可以通过调用listIterator()方法产生一个指向List开始处的ListIterator, 还可以调用listIterator(n)方法创建一个一开始就指向列表索引为n的元素处的ListIterator。只用于list集合
ListIterator 与Iterator 的区别:
(1)ListIterator有add()方法,可以向List中添加对象,而Iterator不能
(2)ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。
(3)ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。
(4)都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。
11.7 LinkedList 228
11.8 Stack 229
先进后出,可以将LinkedList作为Stack使用
11.9 Set 231
不重复元素
11.10 Map 233
11.11 Queue 236
先进先出,LinkedList实现了此接口
11.11.1 PriorityQueue 237
优先级队列,有序队列
11.12 Collection和Iterator 238
重点在于Iterator 接口思想,与下面的Foreach一样,理解Iterator 原理
11.13 Foreach与迭代器 241
实现Iterable接口的Iterator 方法皆可用于foreach
11.13.1 适配器方法惯用法 243
适配器模式实现Iterator 方法
11.14 总结 248
书籍相关资源:
pdf文档链接:https://pan.baidu.com/s/1yuWb_kI0sB3yHLBndPcyEg 提取码:scvw
书中demo: https://github.com/BruceEckel/TIJ4-code
Thinking in Java 4th英文版的课后习题答案: http://greggordon.org/java/tij4/solutions.htm