前言
- 开发中避免不了和数据打交道,今天给大家介绍Java中的数组
目录
数组.png1.数组类型
1.1 理解数组
- 定义
数组是一种数据结构,可用于存储多个数据,既可以存储基本类型的数据,也可以存储引用类型的数据,只要所有的数据元素具有相同的类型即可。一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度不可改变。即使把某个数组元素的数据清空,但它所占的空间依然被保留,依然属于该数组,数组的长度依然不变。(数组本身是一种引用类型的数据,例如:int[],Object[])数组是用于储存多个相同类型数据的集合。 - 作用
数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按无序的形式组织起来的一种形式。(数组中的) - 为什么要用数组
a、使用数组会让程序变的简单,而且避免了定义多个变量的麻烦;
b、使用数组可以节省内存;避免定义很多变量消耗更多的内存;
1.2 定义数组
数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有对数组进行初始化后才可以使用。
例如:type[] arrayName
1.3 数组的初始化
不管以哪种方式来初始化数组,只要为数组元素分配了内存空间(初始化),数组元素就具有了初始值。
a、静态初始化
arrayName = new type[]{element1,element2,element3...};
显示指定的数组元素值的类型必须和type类型相同,或者是type子类的实例。
b、动态初始化
arrayName = new type[length];
Object [] books = new String[4];显示指定的数组元素值的类型必须和type类型相同,或者是type类型的子类。
image.png
1.4 什么时候使用数组?
数组有长度,在你确定数据量个数时,使用数组;(其他情况下可以使用集合等等。)
注意:使用foreach循环迭代数组元素时,并不能改变数组元素的值,因此不要对foreach的循环变量进行赋值。(可以自己做实验,观察结果。)
2.深入数组
2.1 内存中的数组
数组是一种引用数据类型,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的。
数组内存图.png
image.png
如果实际的数组对象失去了引用,变成垃圾,只有等待垃圾回收机制来回收它,但它的长度依然不会改变,直到它彻底消失。
image.png
2.2 基本类型数组的初始化
image.pngimage.png
image.png
2.3 引用类型数组的初始化
image.pngimage.png
2.4 多维数组
image.pngimage.png
image.png
image.png
image.png
image.png
2.5 Java 8数组工具类Arrays
自行查API学习;
image.png
3.总结
数组是一个不仅可以让程序变的简单,而且可以节省内存的容器。
网友评论