一维数组的创建与定义:
(以int类型为例)
int [] array1 ;//定义一个数组
array1 = new int [10];//数组长度的定义
array[i] = x;//定义数组的值(下标从0开始)
//打印数组元素
第一种:
for (int i = 0; i < array1.length; i++) {
System.out.println(array1[i]); }
第二种:
for (int i : array1) {
System.out.println(i); }
//反转数组
public static int[] reveser(int [] array1){
int [] result = new int[array1.length];
for (int i = 0,j = result.length - 1; i < array1.length; i++ , j--) {
result[j] = array1[i] ; } return result;
}
二维数组的创建与定义:
int [][] array2 = new int [i][j];
打印二维数组元素:
//第一种方法(For循环)
for (int i = 0; i < array1.length; i++) { for (int j = 0; j < array1[i].length; j++) { System.out.print(array1[i][j]); } System.out.println("\t");
//第二种方法(For Each遍历)
for (int[] ints : array1) { for (int anInt : ints) { System.out.print(anInt + "\t"); } System.out.println("");
//冒泡排序
public static int[] sort(int[] array1){
int sum = 0; for (int i = 0; i < array1.length-1; i++) {
//外层循环,判断要走多少次
for (int j = 0; j < array1.length-1-i; j++) {
//内层循环,比较判断两个数,如果前一个比后一个大,则交换位置。
if (array1[j+1] < array1[j]){
sum = array1[j] ; array1[j] = array1[j+1]; array1[j+1] = sum;
}
}
} return array1; }
稀疏数组的相关创建:
//创建一个二维数组 11*11 0:没有棋子 1:黑棋 2:白棋 int array1[][]; array1 = new int[11][11]; array1[1][2] = 1; array1[2][3] = 2; //1:获取有效值个数 int sum = 0; for (int i = 0; i < array1.length; i++) { for (int j = 0; j < array1[i].length; j++) { if (array1[i][j] != 0) { sum += 1; } } } //2:创建一个稀疏数组的数组 int [][] array2 = new int[sum+1][3]; array2[0][0] = 11; array2[0][1] = 11; array2[0][2] = sum; //遍历二维数组,将非0的值存放在稀疏数组中 int count = 0; for (int i = 0; i < array1.length; i++) { for (int j = 0; j < array1[i].length; j++) { if (array1[i][j] != 0 ){ count++; array2[count][0] = i; array2[count][1] = j; array2[count][2] = array1[i][j]; } } } //输出稀疏数组 for (int[] ints : array2) { for (int anInt : ints) { System.out.print(anInt + "\t"); } System.out.println(" "); }
将稀疏数组还原:
//1:定义一个数组 int [][]arrar3 = new int[array2[0][0]][array2[0][1]]; //2:让定义的数组还原它的值 for (int i = 1; i < array2.length; i++) { arrar3[array2[i][0]][array2[i][1]] = array2[i][2]; } //打印还原数组 for (int[] ints : arrar3) { for (int anInt : ints) { System.out.print(anInt + "\t"); } System.out.println(" "); }