13.为什么集合类没有实现Cloneable和Serializable接口?
答:克隆(cloning)或者是序列化(serialization)的语义和含义是跟具体的实现相关的。因此,应该由集合类的具体实现来决定如何被克隆或者是序列化。
14.什么是迭代器(Iterator)?
答:Iterator接口提供了很多对集合元素进行迭代的方法。每一个集合类都包含了可以返回迭代器实例的
迭代方法(方法itereator())。具有三个功能:
1. 返回下一个元素;
2. 判断序列中是否有下一个元素;
3. 将最近返回的元素从序列中删除。
15.Iterator和ListIterator的区别是什么?
答:List.listIterator()
- Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。
- Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。
- ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等。