Lab on creating and manipulating collections Goals * To create and manipulate collections (ArrayLists> * To become familiar with the API for the ArrayList class * To create and use test classes in BlueJ 0. Complete the book exercises 4.1-4.16. 1. In this exercise we will enhance the LabClass project from chapter 1. Make sure you document and thoroughly test all new functionality. a. Begin by making a copy of the LabClass project from chapter 1 in your H:/ioop/lab05 folder. b. Replace the original Student class with the enhanced Student class that you created in last week's lab. Recall that this class has private attributes to store (three integer) quiz grades, as well as public methods to access the lowest grade, the highest grade and the middle grade. c. Enhance the Student class further with an accessor for the average grade. d. Enhance the Student class further with an accessor for the String "version" of a Student object (please include in the return String the student's name, grades, average grade, as well as any other information that you consider pertinent. This method must have the following signature: /** * @return the String representation of this student */ public String toString () e. Enhance the LabClass java class with a method that displays on the screen the names of all the students in a LabClass object. f. Enhance the LabClass java class with a method that displays on the screen the information all the students in a LabClass object. Pedegogical note: Please use the toString method of the Student class to achieve this task. g. Enhance the LabClass java class with a method that displays on the screen the name(s) of the students in a LabClass object who have gotten a perfect quiz grade of 100. h. Enhance the LabClass java class with a method that returns the best average grade in a LabClass object. i. Enhance the LabClass java class with a method that displays on the screen the name(s) of the student(s) in a LabClass object who have the best average grade. j. (THIS IS THE ONE WHERE YOU KNOW YOU REALLY GOT IT! Since students sometimes go off the deep end on this one, ask Dr. Lobo for a sanity check on your approach before you start coding.) After completing all the previous exercises, enhance the LabClass java class with a method that returns an ArrayList with (references to) the student(s) in a LabClass object who have the best average grade. k. EXTRA CREDIT: Implement a toString method for the LabClass class.