This assignment requires one project with two classes. Class Employee Class Employee- I will attach the code for this:  //Import the required packages. import java.text.DecimalFormat; import java.text.NumberFormat;   //Define the employee class. class Employee {    //Define the data members.  private String id, lastName, firstName;  private int salary;    //Create the constructor.  public Employee(String id, String lastName,              String firstName, int salary) {      this.id = id;      this.lastName = lastName;      this.firstName = firstName;      this.salary = salary;  }    //Define the getter methods.  public String getId() {      return id;  }  public String getLastName() {      return lastName;  }  public String getFirstName() {      return firstName;  }  public int getSalary() {      return salary;  }    //Define the method to return the employee details.  @Override  public String toString() {           //Use number format and decimal format      //to format the salary to desired output.      NumberFormat nfm = NumberFormat.getCurrencyInstance();      String pt = ((DecimalFormat) nfm).toPattern();      String npt = pt.replace("\u00A4", "").trim();      NumberFormat nfm2 = new DecimalFormat(npt);      nfm2.setMinimumFractionDigits(0);           //Return the attributes with message.      return "ID " + id + ":" + lastName + ", " + firstName                          + ", salary $" + nfm2.format(salary);  } }   Executable Class (I will post beleow the array I already created)  //Import the required packages. import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; import java.util.ListIterator;   //Define the class. public class Executable {   // Define the main method. public static void main(String[] args) {      //Create an employee array.    Employee[] eArr = new Employee[8];    eArr[0] = new Employee("23232", "Baker", "Amy", 100000);    eArr[1] = new Employee("56789", "Jones", "Dan", 130000);    eArr[2] = new Employee("13579", "Jones", "Pat", 80000);    eArr[3] = new Employee("67765", "Jones", "Don", 140000);    eArr[4] = new Employee("12345", "Baker", "Tom", 200000);    eArr[5] = new Employee("45454", "Perez", "Ava", 105000);    eArr[6] = new Employee("24680", "Scott", "Ann", 90000);    eArr[7] = new Employee("11111", "Scott", "Bob", 65000);       //Create the array list from the employee array.    ArrayList eArlist = new ArrayList<>(Arrays.asList(eArr));    System.out.println("Staff Alpha sorted by names\n");       //Create the comparator to sort the array list by last name.    Comparator lastName = new Comparator() {          @Override        public int compare(Employee i, Employee j) {            int r = i.getLastName().compareToIgnoreCase(j.getLastName());            if (r != 0)                return r;            return i.getLastName().compareToIgnoreCase(j.getLastName());        }    };       //Create the comparator to sort the array list by first name.    Comparator firstName = new Comparator() {        @Override        public int compare(Employee i, Employee j) {            int r = i.getFirstName().compareToIgnoreCase(j.getFirstName());            if (r != 0)                return r;            return i.getFirstName().compareToIgnoreCase(j.getFirstName());        }    };       //Sort the array list by last name and then by first name.    Collections.sort(eArlist, lastName.thenComparing(firstName));       //Use lambda with for each to print the array list.    eArlist.forEach(i -> System.out.println(i));      System.out.println();       //Print the message.    System.out.println("Staff sorted Reverse Alpha\n");       //Sort the array list in reverse order.    Collections.sort(eArlist, lastName.thenComparing(firstName).reversed());       //Print the array list.    eArlist.forEach(i -> System.out.println(i));      System.out.println();       //Create a link list from the array list.    LinkedList llist = new LinkedList<>(eArlist);       //Create an iterator for the linked list.    ListIterator liter = llist.listIterator();       //Iterate forward without printing.    while (liter.hasNext()) {        liter.next();    }       //Display the message.    System.out.println("LinkedList Backward\n");       //Iterate backwards and print the list content.    while (liter.hasPrevious()) {        System.out.println(liter.previous());    } } } These are the steps that I need help with to be added to the code above: create an array of Employee objects.  create an ArrayList of Employee objects from that array. use an enhanced for loop to print all employees as shown in the sample output. create a TreeMap that uses Strings for keys and Employees as values. this TreeMap should map Employee ID numbers to their associated Employees. process the ArrayList to add elements to this map. print all employees in ID # order as shown, but do so using the TreeMap's forEach method and a lambda expression Output should look exactly like this:

Enhanced Discovering Computers 2017 (Shelly Cashman Series) (MindTap Course List)
1st Edition
ISBN:9781305657458
Author:Misty E. Vermaat, Susan L. Sebok, Steven M. Freund, Mark Frydenberg, Jennifer T. Campbell
Publisher:Misty E. Vermaat, Susan L. Sebok, Steven M. Freund, Mark Frydenberg, Jennifer T. Campbell
Chapter12: Working In The Enterprise: Systems, Certifications, And Careers
Section: Chapter Questions
Problem 10CT
icon
Related questions
Question

This assignment requires one project with two classes.

Class Employee

  • Class Employee- I will attach the code for this: 

//Import the required packages.

import java.text.DecimalFormat;

import java.text.NumberFormat;

 

//Define the employee class.

class Employee {

 

 //Define the data members.

 private String id, lastName, firstName;

 private int salary;

 

 //Create the constructor.

 public Employee(String id, String lastName,

             String firstName, int salary) {

     this.id = id;

     this.lastName = lastName;

     this.firstName = firstName;

     this.salary = salary;

 }

 

 //Define the getter methods.

 public String getId() {

     return id;

 }

 public String getLastName() {

     return lastName;

 }

 public String getFirstName() {

     return firstName;

 }

 public int getSalary() {

     return salary;

 }

 

 //Define the method to return the employee details.

 @Override

 public String toString() {

    

     //Use number format and decimal format

     //to format the salary to desired output.

     NumberFormat nfm = NumberFormat.getCurrencyInstance();

     String pt = ((DecimalFormat) nfm).toPattern();

     String npt = pt.replace("\u00A4", "").trim();

     NumberFormat nfm2 = new DecimalFormat(npt);

     nfm2.setMinimumFractionDigits(0);

    

     //Return the attributes with message.

     return "ID " + id + ":" + lastName + ", " + firstName

                         + ", salary $" + nfm2.format(salary);

 }

}

 

Executable Class (I will post beleow the array I already created) 

//Import the required packages.

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.Comparator;

import java.util.LinkedList;

import java.util.ListIterator;

 

//Define the class.

public class Executable {

 

// Define the main method.

public static void main(String[] args) {

 

   //Create an employee array.

   Employee[] eArr = new Employee[8];

   eArr[0] = new Employee("23232", "Baker", "Amy", 100000);

   eArr[1] = new Employee("56789", "Jones", "Dan", 130000);

   eArr[2] = new Employee("13579", "Jones", "Pat", 80000);

   eArr[3] = new Employee("67765", "Jones", "Don", 140000);

   eArr[4] = new Employee("12345", "Baker", "Tom", 200000);

   eArr[5] = new Employee("45454", "Perez", "Ava", 105000);

   eArr[6] = new Employee("24680", "Scott", "Ann", 90000);

   eArr[7] = new Employee("11111", "Scott", "Bob", 65000);

  

   //Create the array list from the employee array.

   ArrayList<Employee> eArlist = new ArrayList<>(Arrays.asList(eArr));

   System.out.println("Staff Alpha sorted by names\n");

  

   //Create the comparator to sort the array list by last name.

   Comparator<Employee> lastName = new Comparator<Employee>() {

 

       @Override

       public int compare(Employee i, Employee j) {

           int r = i.getLastName().compareToIgnoreCase(j.getLastName());

           if (r != 0)

               return r;

           return i.getLastName().compareToIgnoreCase(j.getLastName());

       }

   };

  

   //Create the comparator to sort the array list by first name.

   Comparator<Employee> firstName = new Comparator<Employee>() {

       @Override

       public int compare(Employee i, Employee j) {

           int r = i.getFirstName().compareToIgnoreCase(j.getFirstName());

           if (r != 0)

               return r;

           return i.getFirstName().compareToIgnoreCase(j.getFirstName());

       }

   };

  

   //Sort the array list by last name and then by first name.

   Collections.sort(eArlist, lastName.thenComparing(firstName));

  

   //Use lambda with for each to print the array list.

   eArlist.forEach(i -> System.out.println(i));

 

   System.out.println();

  

   //Print the message.

   System.out.println("Staff sorted Reverse Alpha\n");

  

   //Sort the array list in reverse order.

   Collections.sort(eArlist, lastName.thenComparing(firstName).reversed());

  

   //Print the array list.

   eArlist.forEach(i -> System.out.println(i));

 

   System.out.println();

  

   //Create a link list from the array list.

   LinkedList<Employee> llist = new LinkedList<>(eArlist);

  

   //Create an iterator for the linked list.

   ListIterator<Employee> liter = llist.listIterator();

  

   //Iterate forward without printing.

   while (liter.hasNext()) {

       liter.next();

   }

  

   //Display the message.

   System.out.println("LinkedList Backward\n");

  

   //Iterate backwards and print the list content.

   while (liter.hasPrevious()) {

       System.out.println(liter.previous());

   }

}

}

These are the steps that I need help with to be added to the code above:

  • create an array of Employee objects. 
  • create an ArrayList of Employee objects from that array.
  • use an enhanced for loop to print all employees as shown in the sample output.
  • create a TreeMap that uses Strings for keys and Employees as values.
  • this TreeMap should map Employee ID numbers to their associated Employees.
  • process the ArrayList to add elements to this map.
  • print all employees in ID # order as shown, but do so using the TreeMap's forEach method and a lambda expression

Output should look exactly like this: 

All Employees
ID 12345: Baker, Tom, salary $200,000
ID 56789: Jones, Dan, salary $130,000
ID 24680:Scott, Ann, salary $90,000
ID 13579:Jones, Pat, salary $80,000
ID 11111: Scott, Bob, salary $65,000
ID 23232: Baker, Amy, salary $100,000
ID 45454: Perez, Ava, salary $105,000
ID 67765: Jones, Don, salary $140,000
Employees By ID #
ID 11111:Scott, Bob,
salary $65,000
ID 12345: Baker, Tom, salary $200,000
ID 13579:Jones, Pat, salary $80,000
ID 23232: Baker, Amy, salary $100,000
ID 24680:Scott, Ann, salary $90,000
ID 45454: Perez, Ava, salary $105,000
ID 56789:Jones, Dan, salary $130,000
ID 67765:Jones, Don, salary $140,000
Transcribed Image Text:All Employees ID 12345: Baker, Tom, salary $200,000 ID 56789: Jones, Dan, salary $130,000 ID 24680:Scott, Ann, salary $90,000 ID 13579:Jones, Pat, salary $80,000 ID 11111: Scott, Bob, salary $65,000 ID 23232: Baker, Amy, salary $100,000 ID 45454: Perez, Ava, salary $105,000 ID 67765: Jones, Don, salary $140,000 Employees By ID # ID 11111:Scott, Bob, salary $65,000 ID 12345: Baker, Tom, salary $200,000 ID 13579:Jones, Pat, salary $80,000 ID 23232: Baker, Amy, salary $100,000 ID 24680:Scott, Ann, salary $90,000 ID 45454: Perez, Ava, salary $105,000 ID 56789:Jones, Dan, salary $130,000 ID 67765:Jones, Don, salary $140,000
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Reference Types in Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Enhanced Discovering Computers 2017 (Shelly Cashm…
Enhanced Discovering Computers 2017 (Shelly Cashm…
Computer Science
ISBN:
9781305657458
Author:
Misty E. Vermaat, Susan L. Sebok, Steven M. Freund, Mark Frydenberg, Jennifer T. Campbell
Publisher:
Cengage Learning