Map集合是有Key和Value的,Collection集合是只有Value。Map集合中有主键key,主键是唯一的不可重复的,而value是可以有多个,例如一个公司有多个部门,每个部门是唯一的,而每个部门中可以有多个员工了,这里部门就相当于主键,每个部门的员工就相当于主键对应的多个value值。
本篇将使用Map集合,实现对部门员工的增删改查功能。在开始编写代码之前,仍然要构思demo框架,一个公司首先要有部门,才能往部门里面添加员工,先建立包含部门属性的实体类,再建立包含员工属性的实体类。
部门实体类如下:
public class Department {
private int did;
private String name;
public int getDid() {
return did;
}
public void setDid(int did) {
this.did = did;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Department() {
}
public Department(int did, String name) {
this.did = did;
this.name = name;
}
public Department(String name) {
this.name = name;
}
@Override
public String toString() {
return "Department{" +
"did=" + did +
", name='" + name + '\'' +
'}';
}
}
员工实体类如下:
public class Person {
private int pid; //人员编号
private String name; //人员姓名
private String sex; //人员性别
private String age; //人员年龄
private String startTime; //人员入职时间
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public Person() {
}
public Person(int pid, String name, String sex, String age, String startTime) {
this.pid = pid;
this.name = name;
this.sex = sex;
this.age = age;
this.startTime = startTime;
}
public Person(String name, String sex, String age, String startTime) {
this.name = name;
this.sex = sex;
this.age = age;
this.startTime = startTime;
}
@Override
public String toString() {
return "Person{" +
"pid=" + pid +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
", age='" + age + '\'' +
", startTime='" + startTime + '\'' +
'}';
}
}
有了部门和员工的属性之后,可以根据这些属性编写部门和员工的增删改查功能,将每个部门的。建立service.java文件,写下要实现的方法,然后在serviceImpl.java中实现这些方法
public interface DepartmentPersonService {
// 把招聘过来的人放到对应的部门中去
Map<Department, List<Person>> doPeopleSaveToDepartment(Department department, List<Person> people);
//实现公司所有信息打印
void doPrintAll();
// 员工辞职
void doPeopleDelFromDepartment(int pid);
//员工信息修改
Person dePersonModFromDepartment(int pid);
}