zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    English,The Da Vinci Code, Chapter 23
    python,meatobject
    English,The Da Vinci Code, Chapter 22
    English,The Da Vinci Code, Chapter 21
    English,The Da Vinci Code, Chapter 20
    English,The Da Vinci Code, Chapter 19
    python,xml,ELement Tree
    English,The Da Vinci Code, Chapter 18
    English,The Da Vinci Code, Chapter 17
    English,The Da Vinci Code, Chapter 16
  • 原文地址:https://www.cnblogs.com/rdchen/p/14153753.html
Copyright © 2011-2022 走看看