Consider a collection class that is similar to the ArrayList class, except that elements are sorted in a certain order. We will call this class SortedArrayList. This class has many of the same simple features that the ArrayList class has, but it also has some new features that is different to the ArrayList class.
The main difference is that each element (which can be of any class type) that is added into the SortedArrayList also has a corresponding priority, which is a decimal number. All elements in the SortedArrayList need to be sorted in descending order (highest priority comes first) according to their priorities at all times.
For example, if there is a list of String objects, with values "A", "B", "C" and "D", and their corresponding priorities are 62, 13, 71 and 38, then the Strings should appear in the SortedArrayList in this order:
"C" (with priority 71), "A" (62), "D" (38), "B" (13)
In Part 1 of the Assignment, your task is to write the SortedArrayList class (its instance variables, constructor and instance methods) as well as perform thorough unit testing on this class.
You should download SortedArrayList.java from the course website to help you get started.
· It already contains the headers of the methods (including the constructor) that you must write. Each method is described with a comment above the method header; you have to write the code inside the methods to perform according to the comment. You should NOT change any of the method headers.
· You may choose to write more methods if that helps you. · There is already 1 instance variable declared; you must NOT change this instance variable declaration.