[Java 05]数组介绍
java数组
1. 数组定义
相同类型数据的有序集合
-
声明 创建(数组都是new的)
int[] numbers = new int[10];
2. 内存分析
java内存: 堆(存放new的对象和数组),栈(存放基本变量类型,会包含这个基本类型的值),方法区(包含了所有class类和static变量)
//1. 声明
int[] array;//在栈中开辟空间,此时堆中没有关于array的信息
//2. 创建
array = new int[10];// 在堆中开辟空间,
3. 初始化(评论有默认初始化)
-
静态初始化
int[] array = {1,3,4,4};
-
动态初始化(包含默认初始化)
//自己加值进去
4. 特点
- 长度一定,2. 元素一致,3. 可以是引用类型/基本类型 4. 数组是一个类,存在堆中
5. 应用1
数组的工具类: java.util.Arrays
Arrays类的方法都是static修饰的方法,可以直接使用Arrays.
来调用
int[] a;
Arrays.Fill(a, 0);
6. 应用2 稀疏数组
一个数组,有很多0值或者相同的值时,为了不使重复值占用太多内存,使用稀疏数组进行存储。
可以记录数组中有数据的项的:
array [0] [0] 记录数组的shape,和要记录的数据量
之后的值都是单独的点:
行,列,值;