管理系统"/>
Java案例:使用TreeSet做员工管理系统
1.TreeSet简介
TreeSet 是一个有序的集合,它继承于AbstractSet抽象类,实现了NavigableSet, Cloneable, java.io.Serializable接口。
TreeSet 继承于AbstractSet,所以它是一个Set集合,具有Set的属性和方法。
TreeSet 实现了NavigableSet接口,意味着它支持一系列的导航方法。比如查找与指定目标最匹配项。
TreeSet 实现了Cloneable接口,意味着它能被克隆。
TreeSet 实现了java.io.Serializable接口,意味着它支持序列化。
TreeSet是基于TreeMap实现的。TreeSet中的元素支持2种排序方式:自然排序 或者 根据创建TreeSet 时提供的 Comparator 进行排序。
2.运行效果
1. 员工列表
2. 新增员工
3. 修改员工信息
4. 删除员工
3.Java代码实现
1. 员工类
//员工类
public class Employee implements Comparable<Employee>{//编号private String id;//姓名private String name;//年龄private int age;//性别private String sex;public Employee(String id, String name, int age, String sex) {this.id = id;this.name = name;this.age = age;this.sex = sex;}public Employee() {}public String getId() {return id;}public void setId(String id) {this.id = id;}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 getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}@Overridepublic String toString() {return "Employee{" +"id='" + id + '\'' +", name='" + name + '\'' +", age=" + age +", sex='" + sex + '\'' +'}';}@Overridepublic int compareTo(Employee o) {return this.getId().compareTo(o.getId());}
}
2. 主菜单
import java.util.Scanner;
import java.util.TreeSet;//主菜单部分
public class Init {public void init(TreeSet<Employee> treeSet){Scanner sc = new Scanner(System.in);EmployeeBusiness employeeBusiness = new EmployeeBusiness();System.out.println("***********************************");System.out.println("\t1、员工列表\n\t2、新增员工\n\t3、修改员工信息\n\t4、删除员工\n\t5、退出");System.out.println("***********************************");System.out.print("请输入要使用的功能编号:");int select = sc.nextInt();switch (select){case 1 :employeeBusiness.employeeList(treeSet);break;case 2 :employeeBusiness.addEmployee(treeSet);break;case 3 :employeeBusiness.modifyEmployee(treeSet);break;case 4 :employeeBusiness.deleteEmployee(treeSet);break;case 5 :System.exit(1);break;}System.out.print("输入0返回主菜单:");if (sc.nextInt()==0){init(treeSet);}else {System.out.println("命令有误!已退出!");}}
}
3. 员工业务类
import java.util.Scanner;
import java.util.TreeSet;//员工业务类
public class EmployeeBusiness {//员工列表public void employeeList(TreeSet<Employee> treeSet){System.out.println("您现在正在查看员工信息");System.out.println("***********************************");System.out.println("员工编号\t员工姓名\t员工性别\t员工年龄");for (Employee employee : treeSet) {System.out.println(employee.getId()+"\t\t"+employee.getName()+"\t\t"+employee.getSex()+"\t\t "+employee.getAge());}System.out.println("***********************************");}//新增员工public void addEmployee(TreeSet<Employee> treeSet){Scanner sc = new Scanner(System.in);System.out.println("***********************************");System.out.println("您现在正在使用新增员工功能");System.out.print("请输入新增员工的编号:");String id = sc.next();for (Employee employee : treeSet) {if (employee.getId().equals(id)){System.out.println("员工编号已存在!添加失败!");return ;}}System.out.print("请输入新增员工的姓名:");String name = sc.next();System.out.print("请输入新增员工的性别:");String sex = sc.next();System.out.print("请输入新增员工的年龄:");int age = sc.nextInt();treeSet.add(new Employee(id,name,age,sex));if (treeSet.contains(new Employee(id,name,age,sex))){System.out.println("新增员工成功!");}else {System.out.println("添加失败!");}System.out.println("***********************************");}//修改员工信息public void modifyEmployee(TreeSet<Employee> treeSet){Scanner sc = new Scanner(System.in);System.out.println("***********************************");System.out.println("您现在正在使用修改员工信息功能");System.out.print("请输入要修改员工的编号:");String id = sc.next();for (Employee employee : treeSet) {if (employee.getId().equals(id)){employee.setId(id);System.out.print("请输入新的员工姓名:");employee.setName(sc.next());System.out.print("请输入新的员工性别:");employee.setSex(sc.next());System.out.print("请输入新的员工年龄:");employee.setAge(sc.nextInt());System.out.println("修改成功!");return ;}}System.out.println("员工编号不存在!修改失败!已退出!");}//删除员工public void deleteEmployee(TreeSet<Employee> treeSet){Scanner sc = new Scanner(System.in);System.out.println("***********************************");System.out.println("您现在正在使用修改员工信息功能");System.out.print("请输入要删除的员工编号:");String id = sc.next();for (Employee employee : treeSet) {if (employee.getId().equals(id)){treeSet.remove(employee);if(!treeSet.contains(employee)){System.out.println("删除成功");return;}}}System.out.println("删除失败");}
}
4.测试类
import java.util.Set;
import java.util.TreeSet;public class Test {public static void main(String[] args) {Init init = new Init();TreeSet<Employee> treeSet = new TreeSet();treeSet.add(new Employee("001","张三",15,"男"));treeSet.add(new Employee("002","小红",18,"女"));treeSet.add(new Employee("003","李四",27,"男"));init.init(treeSet);}
}
更多推荐
Java案例:使用TreeSet做员工管理系统
发布评论