Java案例:使用TreeSet做员工管理系统

编程入门 行业动态 更新时间:2024-10-28 07:18:42

Java案例:使用TreeSet做员工<a href=https://www.elefans.com/category/jswz/34/1769858.html style=管理系统"/>

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做员工管理系统

本文发布于:2023-07-28 17:48:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1267139.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:管理系统   员工   案例   Java   TreeSet

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!