定义
数组在Java语言中是一种非常重要的数据结构之一,它用来存储固定大小
的同类型
元素。
两个比较重要的要素就是固定大小
和同类型
元素。就是说一个数组类型一来就会被定义上大小(长度)和元素的数据类型。一个数组可以理解成一堆某种相同的东西。
语法定义
dataType[] arrayRefVar;
dataType arrayRefVar[];
上面两种数组声明的方式,Java语言中推荐使用第一种。简单明了,直接理解为类型-数组-变量。
初始化创建数组
初始化数组有两种方式,不管是哪种方式,它的核心都是数组的大小固定。
- 直接初始化
这种初始,也叫做静态初始化
。就是一上代码,不管其他的直接搞。直接把需要的值赋值上去。
语法定义:
type[] name = new type[]{};
new type[] 可以省略掉直接初始赋值。
//定义长度为5
int[] numbers = new int[5] {1, 2, 3, 4};
// 直接赋值,长度为4
int[] nums = {1, 2, 3, 4};
- 先给定数组长度定义,再赋值初始化
这种初始化,叫动态初始化。是先定义数组的大小,再动态对数组的每个元素赋值
语法定义:
dataType[] arrayRefVar = new dataType[size];
// 定义数组的大小
int size = 4;
// 初始化数组
int[] numbers = new int[size];
// 对每个元素进行赋值
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;
// foreach遍历打印元素值
for (int number : numbers) {
System.out.println(number);
}
// 通过下标展示元素值
for (int i = 0; i < numbers.length; i++) {
// 读取元素值
System.out.println(numbers[i]);
}
// 打印结果
1
2
3
4
1
2
3
4
上面对数组每个元素赋值采用是numbers[index] = value; index的范围是0--(数组长度-1)
。index称为下标。下标的定义从0开始
的。比如我们说数组的第1个元素就是小标为0的元素。
// 对每个元素进行赋值
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;
读取元素值同样使用的是numbers[index]。
for (int i = 0; i < numbers.length; i++) {
// 读取元素值
System.out.println(numbers[i]);
}
为了方便数组的操作,api提供了java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。以下是一些常用的功能:
- 给数组赋值:通过 fill 方法。
- 对数组排序:通过 sort 方法,按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
这个时候,有朋友可能会有疑问,这么多方法,我怎么记得住。方法多了你记住也会忘啊。我找到了api的中文文档,你用到的时候就可以根据相关的类去查询就行,比如你只需要记住Arrays是对数组相关操作就行。用的时候去查询具体的方法就行。