网站排行怎么做,免费正能量软件下载,如何实施网站推广,站群系统有哪些原理以及普通数组储存表格信息 在介绍数组的时候说过#xff0c;数组能够用来储存任何同类型的数据#xff0c;这里的意思就表明只要是同一个类型的数组据就可以储存到一个数组中。那么在表格中同一行的数据是否可以储存到同一个数组中呢#xff1f;答案自然是可以#xff…原理以及普通数组储存表格信息 在介绍数组的时候说过数组能够用来储存任何同类型的数据这里的意思就表明只要是同一个类型的数组据就可以储存到一个数组中。那么在表格中同一行的数据是否可以储存到同一个数组中呢答案自然是可以但是与之对应的疑惑便也产生了比如一个学生类的表格中存储的信息是学生的姓名、年龄、籍贯、省份证号等等等等的信息很明显他们的类型是完全不同的那么怎么能将他们储存进一个数组中呢 在解决这个问题之前先提出一个问题。在定义数组的时候我们采用的语法结构是 数据类型 [ ] 数组名称 new 数据类型 [ 数组长度]
那么这里的数据类型有多少种呢估计会有人毫不犹豫地回答8种。因为java中有8中基本数据类型因此很多人会这样回答。但是其实在java中还有字符串类型和引用类型我们依然能创建与这两种数据类型对应的数组。因此确切来说这里的数据类型有10种。 既然解决了数据类型的问题那么这里再提出一个问题那就是这里的数据类型有多少种表达方式呢如果回答10种那么恭喜你又错了。因为有引用类型的存在所以理论上来说这里的数据类型的表达可以有无数种方式因为类属于引用类型所以每一个类都可以写成数组的数据类型。比如如果定义了一个Person类那么就可以定义数组 Person[ ] person new Person[数组长度];而这里有一个很明显的问题那几是类可以有无数个因此数据类型的表达也就有了无数个。 解决了以上问题对于数组种能否储存表格中的数据这个问题也就迎刃而解了。首先之前说过数组也是对象其次new关键字能够用来创建对象。那么当我们用一个类的名称来定义数组时是不是变成了这样的格式 类名 [ ] 数组名 new 类名[ 数组长度]
可以发现这个格式的右边与类中对象的创建非常相似甚至在一定条件下可以说它就是创建了一个对象也无可厚非。而这个数组中储存的正好就是类的对象。比如我们以下面这个代码为例当创建数据类型为Emp的数组emps时因为数据类型为类名所以创建数组中的元素时必须调用类的构造方法创建这个类的对象这时数组中的元素就是类Emp的对象。这样如果把每一个对象的信息都放入表格之中那么这个数组中的信息不就是这个表格的信息吗。
package cn.luoyusanshu.array;
import java.util.Arrays;
/*** 使用javabean和一维数组储存表格信息*/
public class Test07 {public static void main(String[] args){Emp emp0 new Emp(1001,高小一,18,程序员,2019-9-21);Emp emp1 new Emp(1003,高小二,19,程序员,2019-8-21);Emp emp2 new Emp(1005,高小三,20,程序员,2019-9-25);//Object[] emps {emp0,emp1,emp2};Emp[] emps new Emp[3];emps[0] emp0;emps[1] emp1;emps[2] emp2;for (int i 0; i emps.length; i) {System.out.println(emps[i].getId()\temps[i].getAge()\temps[i].getName());}for (int i 0; i emps.length; i) {System.out.println(emps[i]);}}
}
class Emp{private int id;private String name;private int age;private String job;private String hiredate;public Emp(){}public Emp(int id, String name, int age, String job, String hiredate) {this.id id;this.name name;this.age age;this.job job;this.hiredate hiredate;}public int getId() {return id;}public void setId(int id) {this.id id;}Overridepublic String toString() {return getId()\tgetName()\tgetAge()\tgetJob()\tgetHiredate();}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public String getJob() {return job;}public void setJob(String job) {this.job job;}public String getHiredate() {return hiredate;}public void setHiredate(String hiredate) {this.hiredate hiredate;}
}Object数组储存表格信息 由此我们已经知道了普通数组可以用来储存表格的信息但是这却也带来了一个麻烦那就是每一次要储存一个表格的信息都要重新定义一个类这样显得过于麻烦且没有必要。为了解决这样一个问题Object数组便出现了我们都知道Object类是所有类的父类所以如果使用Object类作为数组的数据类型就意味着它可以直接对表格数据进行存储。比如在下面的这个代码中a1[0]数组便能够储存这些看似为不同类型的数据当然这只是表面上的其实这些数据都是同一个类型——对象。这里要注意的是java中的基本数据类型并不属于对象但在使用中当需要这些数据类型变为对象的时候大多数情况下系统会自动对其进行装箱操作从而将其转化为对象。
package cn.luoyusanshu.array;
import java.util.Arrays;
public class Test06 {public static void main(String[] args) {Object[][] a1 new Object[3][];a1[0]new Object[]{1001,高小一,18,讲师,2002-90-17};a1[1]new Object[]{1001,高小二,18,讲师,2002-90-19};a1[1]new Object[]{1001,高小三,18,讲师,2002-90-27};System.out.println(a1[0]);System.out.println(Arrays.toString(a1[0]));Object[] emp0 {1001,高小一,18,讲师,2002-90-17};Object[] emp1 {1001,高小二,18,讲师,2002-90-16};Object[] emp2 {1001,高小三,18,讲师,2002-90-28};Object[][] emp new Object[3][];emp[0] emp0;emp[1] emp1;emp[2] emp2;System.out.println(Arrays.toString(emp[0]));System.out.println(Arrays.toString(emp[1]));System.out.println(Arrays.toString(emp[2]));System.out.println(____________________________);for (int i 0; i emp.length; i) {System.out.println(Arrays.toString(emp[i]));}System.out.println(_______________________________);for (int i 0; i emp.length ; i) {for (int j 0; j emp[i].length; j) {System.out.print(emp[i][j]\t);}System.out.println();}}
}