稀疏数组
增强for循环
for(int[] ints : array1){ for(int anInt : ints){ System.out.print(anInt+"\t"); } System.out.println(); }
获取有效值个数
int sum = 0; for(int i = 0;i < arrays.length;i++){ for(int j = 0;j < arrays[i].length;j++){ if(arrays[i][j]!=0){ sum++; } } } System.out.println("有效值个数为:"+sum)
创建一个稀疏数组
int[][] array2 = new int[count][3]; int count = 0; array2[0][0] = 11; array2[0][1] = 11; array2[0][2] = sum; for(int i = 0;i < 11;i++){ for(int j = 0;j < 11;j++){ if(arrays[i][j]!=0){ count++; array2[count][0] = i; array2[count][1] = j; array2[count][2] = array1[i][j]; } } }
输出稀疏数组
for(int i = 0;i < array2.length;i++){ System.out.println(array2[i][0]+"\t" +array2[i][1]+"\t" +array2[i][2]"\t"); }
还原稀疏数组
int[][] array3 = new int[array2[0][0]][array2[0][1]]; for(int i = 1;i < array2.length;i++){ array3[array2[i][0]][array2[i][1]]=array2[i][2]; //横坐标 纵坐标 值 }