Java集合小结

本文详细介绍了Java集合框架的两大系列:Collection系列和Map系列,并通过图表形式清晰地展示了Set、List和Map的区别。同时,文章对比了HashSet、ArrayList、HashMap等常用实现类的特点,并深入探讨了HashMap与Hashtable的不同之处。

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

      最近看了一些师哥师姐之前面试的题目,发现其中也不乏对Java基础的一些考察,而且很多人都被问到了集合的这部分的知识点。所以便有了这篇博客,跟大家分享集合这块的知识,欢迎各位大侠各种拍砖。

      说到集合,集合其实分为两大系列,一个是collection系列的,另外一个则是map系列的。看下面的图大家可能会清楚许多。

      图清楚了,接下来就是各种对比了呀。例如set,list,map他们三者之间的区别。

      先跟大家分享一张图,大家形象的去感知一下他们之间的区别。

      图的说明:set集合类似于一个罐子,set集合无法记录每个元素的顺序,所以set集合中的元素是无顺序的,而且还不能重复的;而list呢,非常像一个数组,他可以记住元素每次添加的位置,只是list的元素长度是可变的,但是数组的长度是固定的;map呢,这个集合也是非常像罐子,只不过每项元素是由两个值确定,一个key对应一个value。

      对于set,list,map三种集合,最常用的实现类分别是hashset,arraylist,hashmap三个实现类。他们三者的区别同上。

      当然还有一个最常问的一个问题就是hashmap和hashtable的区别。

      首先他们两个都是map接口的实现类,hashtable是一个古老的map的实现类,是一个安全的map实现,但是hashmap是线程不安全的实现,所以hashmap比hashtable的性能高一点,但是如果有多个线程访问同一个map对象的时候,使用hashtable会好一些。

      其次就是hashtable不允许把null作为key和value,如果 放进去了,会引发异常,但是hashmap可以使用null作为key或者value。

      好了,关于的集合的小结,就到这里了,若是觉得这篇博客还看的过去,就帮我顶一下博客呗,谢谢。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值