Java中各个集合的关系图

版权声明:欢迎转载评论~哈哈哈哈请标明出处呀 https://blog.csdn.net/legendaryhaha/article/details/88712232


逼逼几句

之所以会画这几个图,就是想归纳一下学过、用过的各个集合,然后能形成自己的知识体系,平时还是要更多的注重实践,就敲代码,敲多了就能记住了。下面这几个图并不代表Java所有的集合,太多了,只画了我用过的和题目里出现过的一些集合。


Collection体系

在这里插入图片描述

几个collection集合的区分

集合类 说明 说明
Vector 线程安全 由于需要同步,性能会有所折扣
ArrayList 线程不安全 随机访问元素或者从经常从后添加元素时性能好
LinkList 线程不安全 需要经常添加和删除元素时性能好
stack 线程安全

补充:LinkedBlockingQueue也是线程安全的,默认大小为Integer.MAX_VALUE,也可以在构造函数的参数中指定大小。另外,LinkedBlockingQueue不接受null,操作跟链表类似。
在这里插入图片描述


Map体系

在这里插入图片描述


几个Map的区分


在这里插入图片描述
注:在java.util.concurrent包下,提供了映射表、有序集和队列的高效实现,它们都是允许并发访问的,如:Concurrent HashMap,ConcurrentSkipListMap,ConcurrentSkipListSet,ConcurrentLinkedQueue。


Collection和Collections的区别

首先,Collection是一个接口,Collections是一个类,它包含的方法都是静态的,且构造方法也是私有化的,即不能实例化,也没必要,直接类名访问即可。

它更像一个工具类,服务于Collection体系,譬如它有一个sort()方法,可以对List类型的集合进行排序。

猜你喜欢

转载自blog.csdn.net/legendaryhaha/article/details/88712232