数组
(1)定义:
数组是一种数据结构,用来存储同一类型值的集合。可以通过下标(从零开始)来访问数组中每个值。
//这里定义了一个长度为10的整型数组
int [] a = new int [10];
(2)数组的初始化
//第一种
int [] a = new int[] {1,2,3,4,5};
//第二种,相当于第一种的简化版
int[] b = { 1, 2, 3, 4, 5 };
(3)数组的遍历
a.可以通过下标来访问数组中的每一个值:
int[] b = { 1, 2, 3, 4, 5 };
for (int i = 0; i < a.length; i++) {
System.out.println(b[i]);
}
b.java中提供了一种特殊的循环方式(foreach)可以用来遍历数组
for (变量:数组) {循环}
int[] b = { 1, 2, 3, 4, 5 };
for (int item : b) {
System.out.println(item);
}
//这里的变量的类型要和遍历的数组是种类型的。
//这里的item便代表了每次循环到的数组中的值。
(4)数组的拷贝
a.全拷贝,可直接用两个变量引用同一个数组。
int[] a;
int[] b = { 1, 2, 3, 4, 5 };
a = b;
b.拷贝指定长度,可用Arrays类中的copyOf(要拷贝的数组,拷贝的长度)方法。
int[] a;
int[] b = { 1, 2, 3, 4, 5 };
a = Arrays.copyOf(a, 3);//这里的数组a中的值为 1 2 3
(5)数组排序
可以使用Arrays类中的sort方法(从小到大)
int[] a = { 3, 2, 1 };
Arrays.sort(a);
(6)多维数组
多维数组将使用多个下标访问数组元素,它适用于表示表格或是更加复杂的排列形式。
int[][] a = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 } };
for (int i = 0; i < a.length; i++) {
for (int x = 0; x < a[i].length; x++) {
System.out.println(a[i][x]);
}
}
(7)不规则数组
在java中可以定义不规则数组。因为java中实际上没有多维数组,只有一维数组,多维数组可以理解为数组的数组。
// 定义数组
int[][] a = new int[3][];
for (int i = 0; i < a.length; i++) {
a[i] = new int[i + 1];
}
// 初始化数组
for (int i = 0; i < a.length; i++) {
for (int x = 0; x < a[i].length; x++) {
a[i][x] = i + 1;
}
}
//该数组的值为
1
2 2
3 3 3