猿问

ArrayList、LinkedList、Vector的区别

大吉大利今晚学习
浏览 1121回答 1
1回答

被吊打的学渣

ArrayList:(1)底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)。(2)特点:是查询很快,但增删较慢,线程不同步(数组查询快的原因是:数组的内存空间地址是连续的)。(3)ArrayList底层维护了一个Object[] 用于存储对象,默认数组的长度是10,当默认的或者指定的容量不够存储对象的时候,容量自动增长为原来的容量的1.5倍。(4)单线程效率高。LinkedList:(1)底层的数据结构是链表结构(特点是查询较慢,增删较快)。(2)特有方法:addFirst(E e)、getFirst(E e) 、removeFirst(E e) Vector:(1)底层是数组数据结构 线程同步(数组长度是可变的百分之百延长),(无论查询还是增删都很慢,被ArrayList替代了)(2)多线程安全的,所以效率低。(3)特有的方法:void addElement(E obj)  在集合末尾添加元素    E elementAt( int index) 返回指定角标的元素    Enumeration elements()  返回集合中的所有元素,封装到Enumeration对象中测试此枚举是否包含更多的元素。     E nextElement()    如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
随时随地看视频慕课网APP

相关分类

Java
我要回答