List的主要方法:add、get、set、remove
ArrayList的优点在于,对get和set的调用花费常数时间。其缺点是新项的插入和现有项的删除代价昂贵。
LinkedList的优点在于,新项的插入和现有项的删除均开销很小。其缺点是不容易作索引,因此对get的调用是昂贵的。
手写ArrayList和LinkedList的实现。(包含clear、size、get、set、ensureCapacity、remove、iterator)
嵌套类:public static class。该类被放入另一个类,即外部类。该嵌套类被认为是外部类的一部分,所以不存在产生不可见问题。嵌套类的问题在于(eg.当编写items而不引用其所在的MyArrayList的时候,代码看起来还可以,也似乎有意义,但却是无效的,因为编译器不可以计算出哪个MyArrayList在被引用)。
内部类:public class。当声明一个内部类时,编译器则添加外部类对象的一个隐式引用,该对象引起内部类对象的构造。如果外部类的名字是Outer,则隐式引用就是Outer.this。