Java数组

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();
        }
}
posted @   TimQiu  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示