Java学习之集合

1.ArrayList:采用数组的形式保存对象,这种方式将对象保存在连续的位置中,所以查询效率比较高,但是插入删除时麻烦,并且ArrayList不是线程安全的。

2.Vector:保存对象的方式与ArrayList相同,但是Vertor方法中都有synchronized关键字,所以是线程安全的。

3.LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查询麻烦。

关于ArrayList实现线程安全方法:

1.使用Vector,它是ArrayList的线程安全版本,其实现90%和ArrayList都完全一样。

2.使用Collections.synchronizedList方法把你的ArrayList变成一个线程安全的List。

3.两种区别

  1.SynchronizedList有很好的扩展和兼容功能。他可以将所有的List的子类转成线程安全的类。 

  2.使用SynchronizedList的时候,进行遍历时要手动进行同步处理。

  3.SynchronizedList可以指定锁定的对象。

  4.LinkedList也是使用SynchronizedList转换成线程安全的类,Vector不能替代LinkedList。

转载于:https://www.cnblogs.com/michaelShao/p/6372720.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值