Vector&ArrayList、HashTable&HashMap、ConcurrentHashMap

本文详细对比了Vector与ArrayList,以及HashTable与HashMap之间的主要区别。Vector和HashTable提供线程安全,而ArrayList和HashMap则注重性能。文章还介绍了如何使用Collections.synchronizedMap将HashMap转换为线程安全的集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Vector与ArrayList的区别
1)Vector类是线程安全的,它的add,get方法是线程同步方法
ArrayList类是线程非安全的,它的add,get方法是普通的方法,当多个线程调用时,可能会出现线程安全问题

2)Vector、ArrayList一样,都是通过数组实现增删改查,查询速度快,其他操作速度慢

2、HashTable与HashMap的区别?
1)HashTable与HashMap都是通过“链表+数组” 实现增删改(链表)查(数组)
2)HashTable是线程安全的,它的put,get方法是同步方法
HashMap是线程非安全的,它的put,get方法不是同步的

注:Collections类有一个将不安全的map集合转成安全集合的方法,Collections.synchronizedMap(map);

3、ConcurrentHashMap是一种并发包,将一个整体分成多个晓得HashTable,默认分成16段(分段锁计算)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值