vector,arraylist, linkedlist的区别是什么
LinkedList类
LinkedList实现了List接口,允许
null
元素。
此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部。
LinkedList不是同步的(不是线程安全)。
实现线程安全:List list =
Collections.synchronizedList(
new
LinkedList(...));
增删快,查询慢。
ArrayList类
ArrayList实现了可变大小的数组。它允许
null
。
ArrayList没有同步。
增删慢,查询快。
Vector类
Vector线程安全。 效率低
关于ArrayList和Vector区别如下:
1.ArrayList在内存不够时默认是扩展50% + 1个,Vector是默认扩展1倍。
2.Vector提供indexOf(obj, start)接口,ArrayList没有。
3.Vector属于线程安全级别的,但是大多数情况下不使用Vector,因为线程安全需要更大的系统开销。
1.ArrayList在内存不够时默认是扩展50% + 1个,Vector是默认扩展1倍。
2.Vector提供indexOf(obj, start)接口,ArrayList没有。
3.Vector属于线程安全级别的,但是大多数情况下不使用Vector,因为线程安全需要更大的系统开销。