Java集合

 

漫画:什么是HashMap?

https://mp.weixin.qq.com/s?__biz=MzI2NjA3NTc4Ng==&mid=2652079766&idx=1&sn=879783e0b0ebf11bf1a5767933d4e61f&chksm=f1748d73c6030465fe6b9b3fa7fc816d4704c91bfe46cb287aefccee459153d3287172d91d23&scene=21#wechat_redirect

MapCollection

HashMap:    允许 key-value  (null-null)、线程不安全,底层由 数组+链表/红黑树 组成

HashTable:       不允许  (null-null)、线程安全,每个方法上都加有syncronize锁

CurrentHashMap: 用来取代HashTable,性能优于HashTable

 

 ArrayList和Vector的区别

a)      Vector是线程同步的,所有它也是线程安全的,而ArrayList是线程异步的,是不安全的。如果不考虑到线程的安全因数,一般用ArrayList效率比较高。

 ArrayList和LinkedList的区别

a)      ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表的数据结构

b)      对于随机访问get和set,ArryList要优于LinkedList,因为LinkedList要移动指针

c)      对于新增和删除操作add和remove,linkedList比较占优势,因为ArrayList要移动数据。这一点要看实际情况,如果只对单条数据插入或删除,ArrayList的速度反而优于LinkedList。但批量随机插入,则考虑LinkedList。因为ArrayList每插入一条数据,要移动插入点及之后的所有数据

d)     是一个有序容器,保持了每个元素的插入顺序

Set 集合的特性

a)      无序,不重复

b)    LinkedHashSet按照元素的插入顺序对它们进行存储

Collection和Collections的区别:

a)      Java..util.Collection是一个接口(集合顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在java类库中有很多集合的实现,其直接继承collection接口有List和Set

b)      Collections则是集合类的一个工具类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索及线程安全等操作。

 

 

 

posted @ 2020-04-12 23:12  小污龟  阅读(122)  评论(0编辑  收藏  举报