数组是一种数据结构。
- 数组的索引是隐式的整数类型。
- 数组的索引是有序的,包含
Length
个元素的数组从0
索引到Length-1
。 - 数组的元素可以是任意类型,但必须都属于同一个类型。
- 数组的维度数量和每个维度的长度(元素的个数)不可以动态改变,不可以向数组添加、删除元素,但可以更改元素。
- 数组的元素允许重复的元素。
1.一维数组
//声明但未初始化
int[] a;
//声明并初始化了一个可以存储100个元素类型为整数的数组。
int[] a = new int[100];
//声明并初始化了一个数组,数组长度由括号内的值推断确定,值使用逗号分隔,无需加new关键字
int[] a = { 2, 3, 5, 7, 11, 13 };
//匿名数组
new int[]{ 17, 19, 23, 29, 31, 37 };
2.多维数组
数组的元素可以是数组,这种内部的数组被称为行(row)。行的长度都是一样的。
多维数组指维度大于1且行的长度相同的数组。例如,二维数组、三维数组、N维数组等。
//此为二维数组,仅为示例
//声明但未初始化
int[][] a;
//声明并初始化了一个可以存储4个元素类型为包含3个元素的数组的数组。
int[][] a = new int[4][3];
//声明并初始化了一个数组,数组长度由括号内的值推断确定,值使用逗号分隔,无需加new关键字
int[][] arrayName = { { 1, 2, 3 }, { 11, 12, 13 }, { 21, 22, 23 }, { 31, 32, 33 } };
3.不规则数组
与多维数组的相同点是数组的元素类型都可以是数组,不同点是多维数组的行的长度都是一样的,而不规则数组的行的长度不必全都一样。
不规则数组指维度大于1且行的长度不一定相同的数组。例如,二维不规则数组、三维不规则数组、N维不规则数组等。
//声明但未初始化
int[][] a;
//声明并初始化了一个可以存储3个元素类型依次为包含2、3、5个元素的数组的数组。
int[][] a = new int[3][];
a[0] = new int[2];
a[1] = new int[3];
a[2] = new int[5];
//声明并初始化了一个数组,数组长度由括号内的值推断确定,值使用逗号分隔,无需加new关键字
int a[][] = { { 1, 2 }, { 11 }, { 21, 22, 23 }, { 31, 32, 33 } };
4.访问数组
//查询
//一维数组
b = a[i];
//二维数组
b = a[x][y];
//三维数组
b = a[x][y][z];
//不规则数组
b = a[x][y][z];
//赋值
//一维数组
a[i] = value;
//二维数组
a[x][y] = value;
//三维数组
a[x][y][z] = value;
//不规则数组
b = a[x][y][z];
5.获得数组长度
a.length
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javalang/2504.html