您的位置:首页 > 编程语言 > Java开发

Java集合小结

2017-05-28 19:53 176 查看
      最近看了一些师哥师姐之前面试的题目,发现其中也不乏对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。

      好了,关于的集合的小结,就到这里了,若是觉得这篇博客还看的过去,就帮我顶一下博客呗,谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: