7.3-全栈Java笔记:多维数组的应用及数组存储表格数据

来源:互联网 发布:退出淘宝客 还能加入吗 编辑:程序博客网 时间:2024/05/16 15:37

多维数组可以看成以数组为元素的数组。可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(学习容器后,我们一般使用容器,二维数组用的都很少)。 

【示例1】二维数组的声明

public class Test{

    public static void main(String[] args) {

       //Java中多维数组的声明和初始化应按从低维到高维的顺序进行

       int [][] a=new int[3][];

       a[0]=new int[2];

       a[1]=new int[4];

       a[2]=new int[3];

       //int t1[][]=new   int[][4];//非法

    }

}

【示例2】二维数组的静态初始化

public class Test{

    public static void main(String[] args) {

       int[][] a = {

              {1,2,3},

              {3,4},

              {3,5,6,7}

       };

       System.out.println(a[2][3]);

    }

}


示例内存分析图

【示例3】动态初始化

import   java.util.Arrays;

public class   Test {

    public static void   main(String[] args) {

       int[][]   a = new int[3][];

       // a[0] = {1,2,5}; //错误,没有声明类型就初始化

       a[0] = new int[]   { 1, 2 };

       a[1] = new int[] {   2, 2 };

       a[2] = new int[]   { 2, 2, 3, 4 };

       System.out.println(a[2][3]);

       System.out.println(Arrays.toString(a[0]));

       System.out.println(Arrays.toString(a[1]));

       System.out.println(Arrays.toString(a[2]));

    }

}


示例3  运行效果图

     【示例4】获取数组长度

//获取的二维数组第一维数组的长度。

System.out.println(a.length);

//获取第二维第一个数组长度。

System.out.println(a[0].length);

数组存储表格数据

表格数据模型是计算机世界最普遍的模型,可以这么说,大家在互联网上看到的所有数据本质上都是表格,无非是表格之间互相套用。如下表格是一张雇员表: 

ID

姓名

年龄

职能

入职日期

1001

高淇

18

讲师

2006-2-14

1002

高小七

19

助教

2007-10-10

1003

高小琴

20

班主任

2008-5-5

我们观察表格,发现每一行可以使用一个一维数组存储:

Object[] a1 = {1001,"高淇",18,"讲师","2006-2-14"};

Object[] a2 = {1002,"高小七",19,"助教","2007-10-10"};

Object[] a3 = {1003,"高小琴",20,"班主任","2008-5-5"};

注意:此处基本数据类型”1001”,本质不是Object对象。JAVA编译器会自动把基本数据类型自动装箱成包装类对象。大家在下一章学了包装类后就懂了。

 

这样我们只需要再定义一个二维数组,将上面3个数组放入即可:

Object[][]  emps = new Object[3][];

emps[0] = a1;

emps[1] = a2;

emps[2] = a3;

【示例5】 二维数组保存表格数据

import   java.util.Arrays;

public class   Test {

    public static void   main(String[] args) {

      

       Object[] a1 = {1001,"高淇",18,"讲师","2006-2-14"};

       Object[] a2 = {1002,"高小七",19,"助教","2007-10-10"};

       Object[] a3 = {1003,"高小琴",20,"班主任","2008-5-5"};

      

       Object[][]  emps = new   Object[3][];

       emps[0] = a1;

       emps[1] = a2;

       emps[2] = a3;

      

       System.out.println(Arrays.toString(emps[0]));

       System.out.println(Arrays.toString(emps[1]));

       System.out.println(Arrays.toString(emps[2]));

      

    }

}


示例5 运行效果图





「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。


笔记包含从浅入深的六大部分:

A-Java入门阶段

B-数据库从入门到精通

C-手刃移动前端和Web前端

D-J2EE从了解到实战

E-Java高级框架精解

F-Linux和Hadoop