Create a class Employee with class members firstName(String), lastName(String) and salary(int).Do the following:
- Create a HashSet of Employees.
- Print the employee details.
- Sort the employees in HashSet by salary and print the result.
- Print the employee with the least salary.
- Print the employee with the highest salary.
- Search for an employee.
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.Scanner; public class HashSetExample{ HashSet< Employee > hashSet; public static void main(String[] args){ HashSetExample obj = new HashSetExample(); obj.hashSet = new HashSet< Employee >(); Scanner input = new Scanner(System.in); int i=0; do{ System.out.println("Please select an option:"); System.out.println("1:Add employee\n2:Print all"); System.out.println("3:Sort\n4:Print employee with Heighest salary"); System.out.println("5:Print employee with least salary\n6:Search employee"); System.out.println("7:Exit"); i=input.nextInt(); switch(i){ case 1: obj.addEmp(); break; case 2: obj.printAll(); break; case 3: obj.sortEmp(); break; case 4: obj.heighSal(); break; case 5: obj.lowSal(); break; case 6: obj.searchEmp(); break; case 7: break; default : System.out.println("Invalid input!!"); break; } }while(i!=7); }//End main private void searchEmp() { Scanner input = new Scanner(System.in); System.out.println("Search Employee .."); System.out.println("Enter First name of employee:"); String fname=input.next(); boolean find=false; for(Employee e : hashSet){ if(e.fname.equals(fname)){ System.out.println(e); find=true; } } if(find==false) System.out.println("Employee not found."); } private void lowSal() { ArrayList< Employee > list = new ArrayList< Employee >(hashSet); Employee e = Collections.min(list,new Employee()); System.out.println(e); } private void heighSal() { ArrayList< Employee > list = new ArrayList< Employee >(hashSet); Employee e = Collections.max(list,new Employee()); System.out.println(e); } private void sortEmp() { ArrayList< Employee > list = new ArrayList< Employee >(hashSet); Collections.sort(list,new Employee()); for(Employee e : list){ System.out.println(e); } } private void printAll() { for(Employee e : hashSet){ System.out.println(e); } } private void addEmp() { Scanner input = new Scanner(System.in); System.out.println("Enter first name and last name"); String first=input.next(); String last=input.next(); System.out.println("Enter salary:"); int sal=input.nextInt(); hashSet.add(new Employee(first,last,sal)); } } class Employee implements Comparator< Employee >{ String fname; String lname; int salary; //Default constructor public Employee(){ this("No","Name",0); } //Parametrized constructor public Employee(String a, String b, int c){ fname=a; lname=b; salary=c; } public String toString(){ return(String.format("%-20s%-6d", (fname+" "+lname),salary)); } @Override public int compare(Employee a, Employee b) { if(a.salary==b.salary) return 0; return a.salary>b.salary?1:-1; } }
No comments:
Post a Comment