Remember, the labs are not for credit, just for practice! But that means you have to do them to learn anything.
1. Finishing ArrayList
Finish the 5 methods in ArrayList
. Be sure to follow the ListInterface
specification closely!
You can test your ArrayList
using Ex22ArrayList
as the driver program.
2. Making a linked list implementation
Now make a LinkedList
class which also implements ListInterface
. Go have a look at LinkedBag
to refresh your memory on how to manage linked lists.
It should behave exactly like ArrayList
did, at least externally.
3. Making a SortableList
interface
Finally, make an interface SortableList
which extends ListInterface
. Remember what constraint you must put on the type parameter to make it sortable.
It should add two methods: sort()
, and int bsearch(E)
. sort()
will sort the items in ascending order. int bsearch(E)
will perform a binary search on the list for the given item, similar to indexOf
(it will return -1 if the item is not found).
Specify those methods thoroughly in SortableList
. Then try implementing them in a class SortableArrayList
which extends ArrayList
. You can use the protected
members from that class in your derived class.