java學習筆記 2021.9.21
阿新 • • 發佈:2021-09-24
增強型陣列(二層迴圈)
例如:陣列名為array
array.for//第一層迴圈
ints.for//第二層迴圈
for (int[] ints : array1) {
for (int anInt : ints) {
System.out.print(anInt+"\t");
}
System.out.println();
}
稀疏陣列
package com.ye.array; import java.util.Arrays; public class Demo09 { public static void main(String[] args) { int[][] array1 = new int[11][11]; array1[1][2]=1; array1[2][3]=2; array1[5][2]=3; array1[6][8]=9; //列印原陣列 for (int[] ints : array1) { for (int anInt : ints) { System.out.print(anInt+"\t"); } System.out.println(); } //列印有效值個數 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++; } } } System.out.println(sum); int[][] array2 = new int[sum+1][3]; array2[0][0]= 11; array2[0][1]= 11; array2[0][2]= sum; int count = 0; for (int i = 0; i < array1.length; i++) { for (int j = 0; j < array1.length; j++) { if (array1[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++) { for (int j = 0; j < array2[i].length; j++) { System.out.print(array2[i][j]+" "); } System.out.println(); } //還原稀疏陣列 int[][] array3 = new int[array2[0][0]][array2[0][1]]; for (int i = 1; i < array2.length; i++) { for (int j = 0; j < array2[i].length; j++) { array3[array2[i][0]][array2[i][2]]=array2[i][2]; } } //列印還原稀疏陣列 for (int[] ints : array3) { for (int anInt : ints) { System.out.print(anInt+"\t"); } System.out.println(); } } }