数组是什么
概述
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
Java 语言中提供的数组是用来存储固定大小的同类型元素。这些元素可以按照统一的方式进行操作。
一个数组就是内存空间中划出的一串连续的空间。
怎么使用数组
创建数组
动态初始化
(先创建固定长度数组,后续再赋值)
元素类型[] 标识符 = new 元素类型[数组长度];
标识符[元素下标] = 元素值;
范例
public class ArrayDemo {
public static void main(String args[]) {
int data[] = new int[3]; /*开辟了一个长度为3的数组*/
data[0] = 10; // 第一个元素
data[1] = 20; // 第二个元素
data[2] = 30; // 第三个元素
for(int x = 0; x < data.length; x++) {
System.out.println(data[x]); //通过循环控制索引
}
}
}
静态初始化
(即创建数组对象时就完成了初始化)
元素类型[] 标识符 = {元素值, 元素值,……};
或者
元素类型[] 标识符 = new 元素类型[ ] { 元素值, 元素值,……};
范例
public class ArrayDemo {
public static void main(String args[]) {
int data[] = {1, 2, 4, 545, 11, 32, 13131, 4444};
for(int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
}
}
数组排序
十种常见排序算法可以分为两大类:
算法复杂度:
详细看大佬的这篇博客
二维数组
二维数组实际上,是以数组作为数组元素的数组(数组的数组)
二维数组又称【矩阵】,如果行和列相同就称为【方阵】
使用二维数组:
动态初始化
元素类型[][] 标识符 = new 元素类型[x][y];
标识符[x][y] = 元素值;
其中:
- x 是行(第几个一维数组)
- y是列(该一维数组的第几个元素)
静态初始化
元素类型[][] 标识符 = { {元素值,元素值}, {元素值,元素值}, ……}
或者:
元素类型[] 标识符 = new 元素类型[ ] [ ] { {元素值,元素值}, {元素值,元素值}, ……};
不规则的二维数组:
先声明行,后声明列:
String[][] y = new String[2][];
y[0] = new int[5]; // 定义第一行有五列
y[1] = new int[10]; //定义第二行有十列