首页 > 其他 > 详细

Map List Set的区别

时间:2019-07-11 14:47:34      阅读:109      评论:0      收藏:0      [点我收藏+]

Map List Map的主要区别如下:

  set List 是实现了Collection接口的子接口;Map本身就是一个接口;

  list数据存放时有序的,允许有重复元素;set数据存放时无序的,不允许有重复数据;map是以键值对的形式存放,存放是无序的,key值不允许有重复的,value值可以有重复的;

  list里面可以有任意的null值;set数据只允许有一个null值,如果多个数据都是null,那么只存在一个;map的key值只能有一个null值,value值可以有任意数量的null值;

实现类(只说几个平时在用的)

  list:ArrayList,LinkedList

  set:HashSet,TreeSet

  Map:HashMap,TreeMap

ArrayList和LinkedList的区别

  ArrayList底层为数组结构,数据存在内存中的地址是连续的,所以查询效率高,直接用数组下标就可以得到数据,而插入,删除要移动操作位置前后的元素。

  LinkedList底层为链表结构,数据存在内存中的地址不是连续的,查询的时候需要通过指针一个一个去查找,效率没有ArrayList高,但是插入,删除操作的时候,只需要改变指针的指向即可,不需要移动操作位置前后元素。

 ArrayList费空间的地方就是真实的数组长度要大于实际存储的元素的长度,为了方便添加数据;而LinkedList费空间的地方是一个位置要存本身的数据还有存指向前后的指针;

HashMap和HashTable的区别

  HashMap不是线程安全的,HashTable是线程安全的,内部的方法都是用synchronized修饰的,所以HashMap效率要比HashTable高;

  HashMap允许键值为null,HashTable不允许,只要有为null就会报空指针;

 

Map List Set的区别

原文:https://www.cnblogs.com/wwxzdl/p/11169269.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!