提到数据结构不能不说数组,数组是构建复杂数据结构的一个重要组成部分。Java不同于C和C++,Java中没有了“讨厌”的指针,所以使用Java编程语言来描述数据结构会更加简单。废话不多说了,学了就知道。
首先来回忆一些关于Java数组的基础概念,这些知识点是非常重要的,如果连这些都不明白的话,估计后面会够呛。
数组是什么?从字面上来看是从放一些数的组合。既然是组合,那么就是要有共同点,没有共同点那组合的概念也就毫无意义了。数的组合,那么也就是说是同一类型的数的组合了。比如说,整数组合,单精度小数组合,双精度小树组合等等。
Java的语法相比C和C++不同,在Java中数组可以看成是一个类型,比如说你要创建一个存放int类型数据的数组,那么语法格式就是这样。
int[] arr = new int[10]
其中int[]可以看成是一种类型,就是int数组类型。这里值得关注的是,这里使用了new这个关键字,大家都应该知道new是要在内存的堆空间中分配出一块空间的。那么当我们执行这样一个语句时,内存中是如何进行分配的呢?下面我们来看详细的执行步骤。
第一步:执行 int[] arr,这时会在栈空间中创建一个引用,其引用的名称为arr,如下图所示。
第二步:执行new int[10],这时会在堆空间中分配出一块大小为10 * 32位的空间出来,用来存放10个int类型数据,如下图所示。
第三步:将引用arr指向堆空间中分配的数组空间,如下图所示。