黑马程序员技术交流社区
标题:
集合问题
[打印本页]
作者:
小白进阶之路
时间:
2018-1-31 12:08
标题:
集合问题
集合源码中的成员内部类:
ArrayList中有一个内部类:ListItr
ListItr这个内部类继承Itr,实现了ListIterator接口。
LinkedList中有一个内部类:ListItr
ListItr这个类名和ArrayList中的一个内部类名相同。这个类同样实现了ListIterator接口。
因为不同的使用场景ListIterator接口里面的方法的具体实现不太一样。所以它会有不同的实现类。
但是为什么源码不用普通的类去实现,而是用内部类去实现呢?
①因为ListItr内部使用了外部类的成员。而ListItr这个类的方法的具体实现需用用ArrayList的一些成员。所以这个时候我们如果把这个类写成内部类,更方便我们调用ArrayList里的成员。(内部类可以直接调用外部类的成员。)
②因为ListItr这个内部类的功能和我们的外部类ArrayList是紧密相连的。所以我们把这个ListItr写成外部类的话。其实没有什么作用。因为不会有其他类还能和我们的ListItr结合起来使用。
作者:
小白进阶之路
时间:
2018-3-14 17:49
集合常见问题部分小总结
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2