JAVA常用数据容器——总览

JAVA中的数据容器

java提供了多种数据集合工具,我们通过这些工具,根据我们的业务需求实现了不同的数据操作。

从接口上来看,JAVA提供的数据集合主要涉及两部分一部分是java.util.Collection的实现类。一部分是java.util.Map的实现类

个人习惯

对于我们常说的数据结构(线性表、对、树、栈、图、散列)更像是JAVA中的接口,只是定义了相关规则,并不存在相关实现。而JDK则根据相关数据结构的规则实现了其中部分数据结构。为了区分我习惯把JDK提供的这些工具List、Map成为数据容器。

Collection的关系图(部分)

JAVA常用数据容器——总览_第1张图片

根据上面的关系图可以发现基于java.util.Collection接口主要的子类为三部分java.util.Listjava.util.Queuejava.util.Set

整体关系可以用下图表示

JAVA常用数据容器——总览_第2张图片

Map的关系图(部分)

JAVA常用数据容器——总览_第3张图片

和Collection相比java.util.Map的子类关系显得比较简单。

整体关系可以用下图表示

JAVA常用数据容器——总览_第4张图片

我们使用的数据容器

根据上面我们可以整理出我们日常开发中使用的数据容器主要包含以下几种

  1. List:List的不同原理的实现,线程安全的实现以及使用其接口实现的栈结构
  2. Queue:Queue不同原理的实现类,以及其拓展Deque
  3. Set:Set的不同原理的实现,线程安全的实现
  4. Map:Map的不同原理的实现,线程安全的实现

JAVA常用数据容器——总览_第5张图片

数据结构

既然说JAVA这些数据容器是常用的数据结构的实现类,所以在了解这些数据容器之前,最好对常用的数据结构有个简单的了解。下面是我整理的相关数据结构的简单内容。

链表、栈、队列

树、图,堆

数组、散列表

每种容器的详细介绍

关于每种数据容器的介绍

  • JAVA常用数据容器——List(LinkedList、ArrayList)
  • JAVA常用数据结构——Map(HashMap、LinkedHashMap、TreeMap)
  • JAVA常用数据结构——Set(HashSet、LinkedHashSet、TreeSet)
  • JAVA队列介绍(Queue)——ArrayBlockingQueue和LinkedBlockingQueue
  • JAVA队列介绍(Queue)——PriorityBlockingQueue
  • JAVA队列介绍(Queue)——DelayQueue(java延迟队列)
  • JAVA队列介绍(Queue)——LinkedTransferQueue
  • JAVA常用数据集合(未完成)——并发容器

ps. 写这一篇文章主要是Java提供的数据集合是我们常用的工具,其中不同的版本中也会有些许差别。了解其原理在进行数据操作的时候不至于因为低级错误而产生错误。(好吧、其实是之前面试的时候发现有些关于原理的问题竟然没有注意到,只能再去学习一遍、顺便把学习笔记拿来当博客水一下积分)


个人水平有限,上面的内容可能存在没有描述清楚或者错误的地方,假如开发同学发现了,请及时告知,我会第一时间修改相关内容。假如我的这篇内容对你有任何帮助的话,麻烦给我点一个赞。你的点赞就是我前进的动力。

你可能感兴趣的:(JAVA,#,数据容器(集合))