第11章 持有对象 216

这一章是初步介绍容器也就是集合的知识点:List、Set、Map、Queue

11.1 泛型和类型安全的容器 216

11.2 基本概念 219

11.3 添加一组元素 220

1
2
3
Arrays.asList()
Collections.addAll()
collection.addAll()

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