数组
数组的定义
- 数组是相同类型数据 的有序集合。
- 数据描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。
- 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。
数组的声明创建
- 首先必须声明数组变量,才能使用数组
int[] arrays;//首选
int arrays[];//效果相同,非首选
- 使用new操作符来创建数组,语法如下:
int[] arrays=new int[5]
- 数组的元素通过索引来访问,数字索引从0开始
- 获取数字长度:
arrays.length
数组的赋值
int[] x=new int[2];
int[0]=1;
int[1]=2;
数组初始化
- 静态初始化
int[] a={1,2,3};
Car[] cars={new Car(),new Car()};
- 动态初始化
int[] a=new int[2];
a[0]=1;
- 数组默认初始化
数组是引用类型,它的元素相当于类的实例变量,因为数组一经分配空间,其中每个元素也被按照实例变量同样的方式被映射初始化了。
数组的四个基本特点
- 其长度是确定的,数字一旦被创建,他的大小就是不可以被改变的,
- 其元素必须是相同类型,
数组中的元素可以是任何数据类型
数组变量属 引用类型,数组也可以看成对象,数组中的每个元素相当于该对象的成员变量。数组对象本身是在堆中的;
数组的使用
多维数组
int[][] a=new int[2][2];//正确
int[][] b=new int[2][];//正确
int[][] b=new int[][2];//错误
稀疏数组
*当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组类保存
稀疏数组的处理方式:
- 记录数组一共有几行几列,有多少个不同的值
- 把具有不同值的元素和行列及值在一个小规模的数组中,从而缩短小程序规模
内存分析
推荐:狂神说浅析内存分析视频
Arrays 类
- 数组的工具类 java.util.Arrays
- Arrays类中的方法都是static修饰的静态方法,直接使用类名进行调用,而不用使用对象来调用;
常用功能:
- 给数组赋值:通过fill方法。
- 对数组排序:通过sort方法,按升序
- 比较数组:通过equals方法比较数组中元素值是否相等
- 查找数组元素:通过binarySearch 方法能对排序好的数组进行二分查找法操作