• java之三维数组


    理解一:
    用一个立方体的bai空间来表示一个三维数组,一du个立方体有长zhi宽高三个维度正好与三维数组对应。
    例如:
    int[x][y][z] cube;
    我们就得到一个长为x,宽为y,高为z的立方体。
    假设x=y=z=10,那么cube的长宽高都为10,是正立方体。
    那cube[5][6][7]就是指定了在这个立方体内的一个空间位置,即这个立方体中 x坐标为5,y坐标为6,z坐标为7的那个空间位置,具体是多大空间要看单位,如果单位是米那就是指立方米如果单位是厘米,那就是立方厘米。

    理解二:

    3维构成了一个立方体结构,如同常见的玩具魔方一样,相对于2维,就多了一个层的概念
    int SanWei[][][]={{{5,2,3},{4,5,6}},{{87,7,5},{10,11,12}}};
    第一层int SanWei[0][*][*] 是一个二维数组如下
    int SanWei[0][0][*] :{5,2,3}
    int SanWei[0][1][*] :{4,5,6}
    第二层int SanWei[1][*][*] 是一个二维数组如下
    int SanWei[1][0][*] :{87,7,5}
    int SanWei[1][1][*] :{10,11,12}

    2、3维比较容易理解,4维 可以借用3维立方体来理解,魔方的每一块 都是一个小的魔方,再高维的话,想象力不够用了

    使用三层循环遍历多维数组

    public class Test{
        public static void main(String[] args) {
            int array[][][] = new int[][][]{                    // 创建并初始化数组
                    { { 1, 2, 3 }, { 4, 5, 6 } },
                    { { 7, 8, 9 }, { 10, 11, 12 } },
                    { { 13, 14, 15 }, { 16, 17, 18 } }
                };
            array[1][0][0] = 97;                                // 改变指定数组元素
            for (int i = 0; i < array.length; i++) {            // 遍历数组
                for (int j = 0; j < array[0].length; j++) {
                    for (int k = 0; k < array[0][0].length; k++) {
                        System.out.print(array[i][j][k] + "	");
                    }
                    System.out.println();                        // 输出一维数组后换行
                }
            }
        }
    
    
    使用foreach 遍历三维数组
    public class TestTwo{
        public static void main(String[] args) {
            int array[][][] = new int[][][]{                    // 创建并初始化数组
                    { { 1, 2, 3 }, { 4, 5, 6 } },
                    { { 7, 8, 9 }, { 10, 11, 12 } },
                    { { 13, 14, 15 }, { 16, 17, 18 } }
                };
            for (int[][] is : array) {                            // 遍历数组
                for (int[] is2 : is) {
                    for (int i : is2) {
                        System.out.print(i + "	");
                    }
                    System.out.println();                         // 输出一维数组后换行
                }
            }
        }
    }
                    System.out.println(array[1][1][0]);//10
                    System.out.println(array[1][1][1]);//11
                    System.out.println(array[0][0][0]);//1
                    System.out.println(array[array.length-1][1][2]);//18
                    System.out.println(array[array.length-1][array[0].length-1][array[0][0].length-1]);//18
  • 相关阅读:
    Spring Boot 2.0 + zipkin 分布式跟踪系统快速入门
    在线yaml转Properties
    Spring Boot 配置优先级顺序
    集群服务器下使用SpringBoot @Scheduled注解定时任务
    spring-boot项目在eclipse中指定配置文件启动
    org.hibernate.TransientObjectException异常
    Servlet、ServletConfig、ServletContext深入学习
    Spring中构造器、init-method、@PostConstruct、afterPropertiesSet孰先孰后,自动注入发生时间以及单例多例的区别、SSH线程安全问题
    nested exception is com.svorx.core.dao.PersistenceException
    yui压缩JS和CSS文件
  • 原文地址:https://www.cnblogs.com/rdchen/p/14153753.html
Copyright © 2020-2023  润新知