- List接口用于描述一个有序集合。
- 有两种访问元素的协议:一种是通过迭代器,另一种是通过get和set方法随机地访问每个元素。但是,后者不适用于链表,每次都要从头遍历,开销很大。
- 集合类库提供了ArrayList类,它实现了List接口。ArrayList封装了一个动态再分配的对象数组。
- 对于需要动态数组时,可能会用Vector或ArrayList。怎么选择呢?
不需要同步的时候选择ArrayList,要同步的选Vector。
理由:Vector类的所有方法都是同步的。可以安全地从两个线程访问一个Vector对象。但是,只从一个线程访问Vector,代码就会在同步操作上浪费大量时间。
参考
《Java核心技术 卷Ⅰ》