中易网

list和vector的区别

答案:2  悬赏:0  
解决时间 2021-02-19 12:56
list和vector的区别
最佳答案
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
首先看上面的结构,Collection是最基本的集合接口。
List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。
ArrayList类
ArrayList实现了可变大小的数组。它允许所有元素,包括null。ArrayList也是非同步的(unsynchronized)。
Vector非常类似ArrayList,但是Vector是同步的。由Vector创建的Iterator,虽然和ArrayList创建的 Iterator是同一接口,但是,因为Vector是同步的,当一个Iterator被创建而且正在被使用,另一个线程改变了Vector的状态(例如,添加或删除了一些元素),这时调用Iterator的方法时将抛出ConcurrentModificationException。
全部回答
vector适用:对象数量变化少,简单对象,随机访问元素频繁 list适用:对象数量变化大,对象复杂,插入和删除频繁 最大的区别是,list是双向的,而vector是单向的。list和vector的区别会分开的说明 1、vector为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高。 2、在vecotor中插入或者删除某个元素,需要将现有元素进行复制,移动。如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素进行拷贝时开销较大,因为拷贝对象要调用拷贝构造函数。 3、对于简单的小对象,vector的效率优于list。vector在每次扩张容量的时候,将容量扩展2倍,这样对于小对象来说,效率是很高的。 4、list中的对象是离散存储的,随机访问某个元素需要遍历list。在list中插入元素,尤其是在首尾插入元素,效率很高,只需要改变元素的指针。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
东莞市领胜电子科技有限公司靠谱吗?打算去那
非关税壁垒用英文怎么解释
华远岚山山水1号东门在哪里啊,我有事要去这
老八综合商店在哪里啊,我有事要去这个地方
S30地址有知道的么?有点事想过去
米其林轮胎会增加油耗
有没有像剑网三编年史一样的节目收听?
求九州的《海上牧云记》~
为什么用友备份出来的数据是mdf,而不是ba
日语ぇ到底怎么读
新乡县新乡中国移动手机卖场在什么地方啊,我
一群虫子吃植物和虫子的游戏
pancoat地址在哪,我要去那里办事
法律硕士非法学研究生期间到底能不能司考
年报财务报表的上年金额得填吗? 年报财务报
推荐资讯
如果我是主管该如何管理
这是哪一集的柯南和哀 柯南吧里“柯南中那些
蚌埠能达陆风汽车销售服务有限公司在什么地方
公历3月26日是阴历的多少?
拍拍贷还款怎么还我怎么还不了,请问帮助提醒
合同未到期,单位要全面装修,有可能待业在家
自带win10家庭版怎么装专业版
外地人上海超生先回老家交罚款,这边就不用再
第一次在steam上买了饥荒还有俩DLC,可是到了
哈姆特奶茶(莲花南苑店)这个地址在什么地方,
有用USB3.0桌面式扩展坞的吗
黄氏修脚养生馆厦门后埔分店在什么地方啊,我
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?