一文讲解对Java数组的总结

杰米粉2021-09-02 11:23

数组(Array)是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

一文讲解对Java数组的总结

一维数组

数组中每个元素都只带有一个下标,是数组中最简单的一种数组。

1.声明

声明一维数组语法有两种格式(推荐使用第一种)。

type[] arrayName;    // 数据类型[] 数组名;

或者

type arrayName[];//数据类型数组名[];

2.分配空间

分配空间语法格式如下。

arrayName = new type[size];    // 数组名 = new 数据类型[数组长度];

3.初始化

Java中初始化数组有以下3种方式。

使用new指定数组大小后进行初始化

使用new指定数组元素的值

直接指定数组元素的值

// 使用 new 指定数组大小后进行初始化
int[] number = new int[5];
number[0] = 1;
number[1] = 2;
number[2] = 3;
number[3] = 5;
number[4] = 8;
// 使用 new 指定数组元素的值(2种方式)
int[] number = new int[] { 1, 2, 3, 5, 8 };
int[] number = new int[5] { 1, 2, 3, 5, 8 };
// 直接指定数组元素的值(2种方式)
int[] number = { 1, 2, 3, 5, 8 };
int[] number;
number={1,2,3,5,8};

4.使用

获取单个元素

获取全部元素

// 获取单个元素
int[] number = { 1, 2, 3, 5, 8 };
System.out.println("获取第一个元素:" + number[0]);
// 使用for语句获取全部元素
int[] number = { 1, 2, 3, 5, 8 };
for (int i = 0; i < number.length; i++) {
    System.out.println("第" + (i + 1) + "个元素的值是:" + number[i]);
}
// 使用foreach语句获取全部元素
for (int val : number) {
    System.out.print("元素的值依次是:" + val + "\t");
}

二维数组

二维数组被看作数组的数组。

1.声明

声明二维数组语法有两种格式(推荐使用第一种)。

type[][] arrayName;    // 数据类型[][] 数组名;

或者

type arrayName[][];//数据类型数组名[][];

第一个中括号表示行,第二个中括号表示列。

2.初始化

二维数组可以通过以下3种方式来指定元素的初始值。

type[][] arrayName = new type[][]{值 1,值 2,值 3,…,值 n};    // 在定义时初始化
type[][] arrayName = new type[size1][size2];    // 给定空间,在赋值
type[][] arrayName = new type[size][];    // 数组第二维长度为空,可变化
// 定义时初始化
int[][] temp = new int[][]{{1,2},{3,4}};
// 给定空间在赋值
int[][] temp = new int[2][2];
// 数组第二维长度为空,可变化
int[][] temp = new int[2][];

3.使用

获取单个元素:arrayName[i-1][j-1];arrayName表示数组名称,i表示数组的行数,j表示数组的列数。

获取全部元素:使用嵌套for循环或for each循环语句。

获取整行元素:需要将行数固定,然后只遍历该行中的全部列即可。

获取整列元素:获取指定列的元素与获取指定行的元素相似,保持列不变,遍历每一行的该列即可。

数组操作

1.比较数组

比较数组元素的个数和对应位置的元素是否相等。

Arrays.equals(arrayA, arrayB);

arrayA是用于比较的第一个数组,arrayB是用于比较的第二个数组。

2.填充数组

在指定位置进行数值填充。

Arrays.fill(array,value);

array表示数组,value表示填充的值。只能使用同一个数值进行填充。

3.数组查找

从数组中查询指定位置的元素,或者查询某元素在指定数组中的位置,语法格式如下。

binarySearch(Object[] a,Object key);

a表示要搜索的数组,key表示要搜索的值。

在数组中指定范围内查找,语法格式如下。

binarySearch(Object[] a,int fromIndex,int toIndex,Object key);

a表示要进行查找的数组,fromIndex指定范围的开始处索引(包含开始处),toIndex指定范围的结束处索引(不包含结束处),key表示要搜索的元素。

4.复制数组

1)copyOf()

Arrays.copyOf(dataType[] srcArray,int length);

srcArray表示要进行复制的数组,length表示复制后的新数组的长度

2)CopyOfRange()

Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex)

srcArray表示原数组,startIndex表示开始复制的起始索引,endIndex表示终止索引。

3)arraycopy()

System.arraycopy(dataType[] srcArray,int srcIndex,int destArray,int destIndex,int length)

srcArray表示原数组,srcIndex表示源数组中的起始索引,destArray表示目标数组,destIndex表示目标数组中的起始索引,length表示要复制的数组长度。

4)clone()

array_name.clone()

数组排序

Java数组中有5种常见排序方法,分别是:

1、Arrays.sort()

2、冒泡排序

3、快速排序

4、选择排序

5、直接插入

常见问题解答

1.声明数组需要注意什么?

声明数组时,一定要考虑数组的最大容量,防止容量不够的现象。数组一旦被声明,它的容量就固定了,不容改变。如果想在运行程序时改变容量,就需要用到集合。关于集合我们会在教程后面讲解。

2.数组在平时的程序代码中使用是否频繁?

数组有一个缺点,就是一旦声明,就不能改变容量,这个也是其使用频率不高的原因。一般存储数据会使用集合或Vector来存储数据,后面我们会讲到。

以上就是小编为大家整理发布的“一文讲解对Java数组的总结”一文,更多相关内容尽在开课吧Java教程频道。

一文讲解对Java数组的总结

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享