Java核心类库—集合框架—List实现类性能和特点
面向接口编程:
接口类型 变量 = new 实现类();
List list = new ArrayList();
List实现类特点和性能分析
三者共同的特点:
1.允许元素重复
2.记录元素的先后添加顺序
Vector类:底层才有数组结构算法,方法都使用了synchronize修饰,线程安全,但是性能较低
ArrayList类:底层才有数组结构算法,方法没有使用synchronize修饰,线程不安全,但性能相对于Vector较高。
ArrayList现在基本以取代了Vector
为了保证ArrayList的线程安全,List list = Collection.synchronizeList(new ArrayList(...));
LinkedList类:底层才有双向链表结构算法。方法没有使用synchronize修饰,线程不安全
数组结构算法和双向链表结构算法的性能问题
数组结构算法:插入和删除操作速度抵,查询和更改较快。
双向链表结构算法:插入和删除操作速度快,查询和更改较慢。
使用选择:
Vector类打死不要用如果要用就选择ArrayList类
如果删除和插入操作频繁,应该选择LinkedList
如果查询操作频繁,应该选用ArrayList
开发中ArrayList较多,根据具体情况选择。