【转载】java集合框图总结

来源:互联网 发布:高考作文书推荐 知乎 编辑:程序博客网 时间:2024/06/05 16:25

如今关于Java集合类的文章非常多,可是我近期看到一个非常有意思图片,基本上把Java集合的整体框架都给展现出来了。非常直观。

假设发现图片看不清楚。点此处看大图

 

在这里,集合类分为了MapCollection两个大的类别。

处于图片左上角的那一块灰色里面的四个类(DictionaryHashTableVectorStack)都是线程安全的,可是它们都是JDK的老的遗留类。如今基本都不怎么使用了,都有了相应的取代类。当中Map是用来取代图片中左上角的那个Dictionary抽象类(Map的官方文档里面有说明)。

官方推荐使用Map接口来取代它。相同对于HashTable。官方推荐ConcurrentHashMap来取代。接着以下的VectorList以下的一个实现类。

 

接着最上面的粉红色部分是集合类全部接口关系图。

当中Map的结构比較简单,而Collection的结构就相对复杂一些。Collection有三个继承接口:ListQueueSet

 

接下来的绿色部分则是集合类的主要实现类了。

这也是我们最常常使用的集合类了。

 

依照实现接口分类:

实现Map接口的有:EnumMapIdentityHashMapHashMapLinkedHashMapWeakHashMapTreeMap

实现List接口的有:ArrayListLinkedList

实现Set接口的有:HashSetLinkedHashSetTreeSet

实现Queue接口的有:PriorityQueueLinkedListArrayQueue

 

依据底层实现的数据结构分类:

底层以数组的形式实现:EnumMapArrayListArrayQueue
底层以链表的形式实现:LinkedHashSetLinkedListLinkedHashMap
底层以hash table的形式实现:HashMapHashSetLinkedHashMapLinkedHashSetWeakHashMapIdentityHashMap
底层以红黑树的形式实现:TreeMapTreeSet
底层以二叉堆的形式实现:PriorityQueue

 

最下方的一个整块都是java.util.concurrent包里面的类,依照包名我们就能够知道这个包里面的类都是用来处理Java编程中各种并发场景的。

 

下篇预告:对中间的经常使用集合类(绿色部分的经常使用实现类)进行一个更加具体的解读。

工具推荐:http://grepcode.com/

阅读代码神器。这个源代码阅读网站不但包括了绝大部分的Java类库源代码,并且对源代码中间的凝视、跳转等做了非常好的优化。有了它,保证你的源代码阅读效率大大提升。

原图出处:http://pierrchen.blogspot.com/2014/03/java-collections-framework-cheat-sheet.html

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刘兰芳岳飞传下载 刘兰芳 岳飞传 刘兰芳白眉大侠 刘兰芳 薛刚反唐 评书杨家将刘兰芳播讲全集 刘兰芳评书大全在线听 刘兰芳评书呼家将93回 呼家将评书刘兰芳全集 刘兰芳评书网赵匡胤 呼家将刘兰芳评书全集 刘兰芳评书赵匡胤演义 刘兰芳评书网在线收听 刘兰芳赵匡胤演义100回 刘兰芳评书在线收听 刘兰芳评书赵匡胤演义100 刘兰芳岳飞传全集mp3在线听 刘兰芳评书大全岳飞传 评书赵匡胤刘兰芳播讲 扬家将评书刘兰芳播讲 岳飞传刘兰芳全集117 刘兰芳评书杨家将93回在线听 评书岳飞传刘兰芳播讲117回 刘兰芳评书赵匡胤演义100回 刘兰芳评书杨家将全集 刘兰芳评书杨家将全传 刘兰芳评书岳飞全传 刘兰芳评书岳飞传大全117集 刘兰芳评书网赵匡胤演义 刘兰芳平书杨家将全集 刘兰芳评书呼家将全集 评书杨家将刘兰芳广播全集 评书网刘兰芳岳飞传 评书杨家将刘兰芳mp3下载 评书岳飞传刘兰芳全集 刘兰芳岳飞传全集mp3下载 评书网刘兰芳杨家将 刘兰芳的评书岳飞传 刘兰芳评书大全呼家将 刘兰芳评书打包下载 杨家将评书刘兰芳全集下载 评书呼家将刘兰芳 全集