数组,List,Set,Map的区别

本文介绍了Java集合框架的基础概念,包括List、Set、Map等核心组件的特点及应用场景,并对比了它们在速度与功能上的优劣。此外,还探讨了不同集合实现如ArrayList、LinkedList、HashSet的线程安全性。

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

Java语言来自C语言,C语言里是没有集合List的。

由于Java需要集合,所以就在数组上扩充了一下,这就是List,List基于数组Array,是动态的可扩展的数组。

由于需要不能重复的集合,于是就有了Set。

由于List,set是基于数组的封装,所以操作数组比List,Set都要快。List,set失去了速度,同时也扩展了功能。

1.List,Set继承与collection接口,Map没有

2.List元素可重复,有序。

3.set元素不可重复,无序。

4.Map键值对,无序。

由于List有下标,所以可以使用for循环来获取元素,也可以使用迭代来获取。set只能使用迭代来获取。

LinkedList,ArrayList,HashSet是线程不安全的,vector是线程安全的。

map中hashmap线程不安全,hashtable线程安全。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值