7.3-全栈Java笔记:多维数组的应用及数组存储表格数据
2017-06-28 11:13
549 查看
多维数组可以看成以数组为元素的数组。可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(学习容器后,我们一般使用容器,二维数组用的都很少)。
【示例1】二维数组的声明
【示例2】二维数组的静态初始化
示例2 内存分析图
【示例3】动态初始化
示例3 运行效果图
【示例4】获取数组长度
数组存储表格数据
表格数据模型是计算机世界最普遍的模型,可以这么说,大家在互联网上看到的所有数据本质上都是“表格”,无非是表格之间互相套用。如下表格是一张雇员表:
我们观察表格,发现每一行可以使用一个一维数组存储:
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】 二维数组保存表格数据
示例5 运行效果图
「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称
Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。
笔记包含从浅入深的六大部分:
A-Java入门阶段
B-数据库从入门到精通
C-手刃移动前端和Web前端
D-J2EE从了解到实战
E-Java高级框架精解
F-Linux和Hadoop
【示例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];//非法 } } |
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]); } } |
示例2 内存分析图
【示例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
相关文章推荐
- java笔记:关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题(下)
- 【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
- java笔记:关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题(上)
- java笔记:关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题(上)
- java学习笔记6对于制作项目,数据的存储用这个ObjectOutputStream
- 对表单和数据表格应用样式--Css学习笔记(六)
- 黑马程序员----C 语言学习笔记之二维数组的存储和应用(迷宫小游戏)
- 基于ini配置文件实现多维数组数据的按行存储和读取
- 数组的应用以及建立临时容器存储程序运行产生的数据-作者:逝秋
- java学习笔记2--数据类型、数组
- java学习笔记---qq项目---在服务器端建立的一个Socket数组来存储已建立连接套接字
- 黑马程序员--Java基础学习笔记【数组操作、基本数据类型包装类】
- 《黑马程序员》java笔记->基本数据类型包装类及自动拆箱装箱原理,数组排序练习字符串切割
- Java基础知识强化之IO流笔记45:IO流练习之 把集合中的数据存储到文本文件案例
- 数据结构(java语言描述)串与数组——稀疏矩阵的三元组表存储
- Java实现登录、注册(使用数组存储数据)
- java学习笔记2--数据类型、数组
- 加强eclipse的使用技巧。可变参数。基本数据类型自动装箱和拆箱。枚举。反射。数组反射的应用。ArrayList和HashSet。JavaBean
- JAVA笔记14__多线程共享数据(同步)/ 线程死锁 / 生产者与消费者应用案例 / 线程池
- Java基础知识强化之IO流笔记46:IO流练习之 把文本文件中数据存储到集合中的案例