版权声明: https://blog.csdn.net/li_xunhuan/article/details/89220565
Demo1:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 用类名加字段来表示一个表格
* 属性名一般都私有,在增加set\get方法
* 此程序段主要用于定义了一个类,其用于存放一个雇员的相关数据
*/
public class Employee {
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public Date getHireDate() {
return hireDate;
}
public void setHireDate(String hireDate) {
DateFormat format = new SimpleDateFormat("yyyy-MM");
try {
this.hireDate = format.parse(hireDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
private int id;
private String name;
private int salary;
private String department;
private Date hireDate;
public Employee(int id, String name, int salary, String department, String hireDate) {
super();
this.id = id;
this.name = name;
this.salary = salary;
this.department = department;
DateFormat format = new SimpleDateFormat("yyyy-MM");
try {
this.hireDate = format.parse(hireDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
public Employee() {
}
}
Demo2:
package cn.lixunhuan.oo2;
import java.util.ArrayList;
import java.util.List;
/**
* 代码段2实际上就是利用代码段1所定义的类,然后构建此类的对象
* 再将这些引用对象存进链表结构中
* 实现了一个简单的读取数据方式:
* 读取数据的时候就是先用链表索引到相应的节点,再找到节点中所存的
* 雇员类定义的引用对象,再输出雇员对象的相关属性
*/
public class Test01 {
public static void main(String[] args) {
Employee e = new Employee(0301,"李寻欢",3000,"项目部","2019-4");
Employee e2 = new Employee(0301,"鲁迅",3000,"项目部","2019-4");
System.out.println(e.getHireDate());
List<Employee> list = new ArrayList<Employee>();
list.add(e);
list.add(e2);
printEmpName(list);
}
public static void printEmpName(List<Employee> list){
for (int i =0;i<list.size();i++){
System.out.println(list.get(i).getName());
}
}
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**与上面不同的是,我们不再利用自定义类,做好其相关的属性
*再新建对象其中存储相关属性;
* 我们可以直接利用JDK,新建一个Map直接存放键值对;
* 我们相关属性名都是要在每次输入于key值的,不同的对象之间,
* 其Key值是应当相同的
* 一行记录可以用一个HashMap类型的对象来存储
*/
public class Test02 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("id", 0301);
map.put("name", "李寻欢");
map.put("salary", 3050);
map.put("department", "项目部");
map.put("hireDate", "2019-4");
Map map2 = new HashMap();
map2.put("id", 0302);
map2.put("name", "哈士奇");
map2.put("salary", 4000);
map2.put("department", "开发部");
map2.put("hireDate", "2019-5");
List<Map> list = new ArrayList<Map>();
list.add(map);
list.add(map2);
printEmpName(list);
}
public static void printEmpName(List<Map> list){
for(int i=0;i<list.size();i++){
Map tempMap = list.get(i);
System.out.println(tempMap.get("name")+"\t"+tempMap.get("department"));
}
}
}
许多数据结构都可以简化为一个基础表格问题,比如棋盘问题就可以转化为表格问题: