Java数组
public static void main(String[] args) {
int n = 10;
// 数组也是对象
// 动态初始化 有默认值 数组的声明和创建
// new int[变量]
int[] arr = new int[n];
// 静态初始化
int[] arr1 = {1, 2, 3};
// 二维数组
int[][] arr2 = new int[4][2];
int[][] arr3 = {{1, 2}, {2, 3}};
//二维数组遍历
//1.for循环
for (int i = 0; i < arr3.length; i++) {
for (int j = 0; j < arr3[i].length; j++) {
System.out.print(arr3[i][j] + " ");
}
}
System.out.println();
//2.Arrays类 Arrays.toString只能打印一维数组
System.out.println(printArray(arr3[0]));
arr1 = rev(arr1);
for (int i : arr1) {
System.out.print(i + " ");
}
for (int i = 0; i < 10; i++) {
arr[i] = i + 1;
}
//arr.for使用for each循环
for(int i : arr){
System.out.print(i + " ");
}
}
稀疏数组
public static void main(String[] args) {
int[][] arr = new int[10][10];
arr[0][5] = 1;
arr[4][2] = 3;
arr[4][5] = 5;
arr[6][7] = 2;
arr[7][9] = 4;
for (int i = 0; i < arr.length; i++) {
System.out.println(Arrays.toString(arr[i]));
}
int count = 0;
// 为初始化稀疏数组计算所需要的行数
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
if (arr[i][j] != 0) {
count++;
}
}
}
// 行 列 值
int[][] sparseArray = new int[count + 1][3];
sparseArray[0][0] = arr.length; // 记录还原的总行数
sparseArray[0][1] = arr[0].length; // 记录还原的总列数
sparseArray[0][2] = count; // 记录存放值的个数
int m = 1;
// 为稀疏数组赋值
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
if (arr[i][j] != 0) {
sparseArray[m][0] = i;
sparseArray[m][1] = j;
sparseArray[m++][2] = arr[i][j];
}
}
}
m = 1;
// 还原稀疏数组
for (int i = 0; i < sparseArray[0][0]; i++) {
for (int j = 0; j < sparseArray[0][1]; j++) {
if (m < sparseArray.length && i == sparseArray[m][0] && j == sparseArray[m][1]) {
System.out.print(sparseArray[m][2] + " ");
m++;
}else{
System.out.print("0 ");
}
}
System.out.println();
}
}