So you've made it this far. Congrats! You are right at the finish line, this semester is almost over!
You have learned how to make classes and objects, and I know some of you are very experienced in using
ArrayLists so early in your programming career. These facts have inspired the creation of this lab. This lab
is going to test your ability to think outside the box, and I hope you can have fun programming it once everything clicks.
Here's the deal. For those of you who don't know what an ArrayList is and are curious, here is a link to a GeeksForGeeks article on it.
TLDR: Imagine an array that can grow in size (not fixed length) and has all kinds of methods to make life easier. It is a
really cool and convenient data structure.
Your goal for this lab is to make a mini version of an ArrayList, but by restricting yourself to using an int[] array.
I will provide you a skeleton for the custom ArrayList class and the method signatures. An example of some functionality
will be provided. Some points I need to make
- Do not use any data structure outside of an int[] array (You dont need one anyways)
- Test your code A LOT. I will add test cases you can use to test the effectiveness of your code (will be graded).
- Start early and ask for help when you get stuck. We are not going to hold your hand, but we are not going to let you stay lost either.
- This is my first time making a lab that I think is difficult so PLEASE START EARLY.
-Tentative due date is 11/25 - 11/26
This lab is also a good example of abstraction. For you (the one programming it) you are putting in a lot of effort
to hide all of these operations from the user. But from the user side (Your main method), the use should be easy and seamless.
This is an example of how some of the methods will work.