集合总结

半世苍凉 提交于 2020-01-16 02:38:10

Java集合,不再使用过多的文字描述,为了更加清晰的展示集合之间的关系,本文使用一张导图阐述整个集合,之后会针对几个类似的类,进行对比说明:
在这里插入图片描述
1、集合接口有哪些,主要包含哪些实现类
Collection:ArrayList,LinkedList,Vector,HashSet,TreeSet,LinkedHashSet,Queue
Map:HashMap,WeekHashMap,TreeMap,ConcurrentHashMap,HashTable

2、ArrayList和Vector的区别
1)Vector使用了Synchronized关键字,是线程安全的,ArrayList是线程不安全的。
2)Vector扩容时2n,ArrayList是1.5n+1

3、ArrayList和LinkedList的区别
1)ArrayList底层为数组,LinkedList为双向链表
2)ArrayList在查找效率更高,而LinkedList在增删效率高

4、ConcurrentHashMap与HashTable的区别
ConcurrentHashMap本身的数据结构与hashMap大致一致,但是引入了分段锁,将锁住某一个segment,而HashTable锁住的是整个结构

5、HashMap与HashTable的区别
1)HashMap是线程不安全的,HashTable是线程安全的
2)HashMap的key和value可为null,HashTable都不可为null

6、关于HashMap的问题,请参考上一篇博客

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!