Daily Excercise Two
Today we did our second daily excercise in order to get more familiar with actual programming. You were asked to write a equals() method, and a find and shift to end method. This finds the item and then shifts everything after it to left, and puts the item into the last slot.
// Turn in, as a lab, into the "daily2" directory class SortableArrayCollection { private Comparable[] items; private int count; private static final int DEFAULT_SIZE = 100; private static final int GROWTH_COEFF = 2; private void grow() { Comparable[] biggerArray = new Comparable[GROWTH_COEFF * items.length]; for (int index=0; index < items.length; index++) biggerArray[index] = items[index]; items = biggerArray; } public SortableArrayCollection(int size) { items = new Comparable[size]; count = 0; } public SortableArrayCollection() { items = new Comparable[DEFAULT_SIZE]; count = 0; } // 1. Write equals() -- compare each and every item public boolean equals(Object o) { SortableArrayCollection sac = (SortableArrayCollection) o; //If they don't have the same number of items, than they aren't equal if (count != sac.count) { return false; } //Checks to make sure that every item at index is equal to the // Item in the other collection at the same index // If any item is not equal, return false for (int index=0; index < count; index++) { if(!items[index].equals(sac.items[index])) return false; } //If we got all the way through, that means they were all equal, so return true return true; } // 2. Write void findAndShiftToEnd(Comparable c) -- does nothting if not found public void findAndShiftToEnd(Comparable c) { int index; //Find the item's index for (index=0; index < count; index++) { if (items[index].equals(c)) break; } //Shifts everything after c to the left for (; iindex < count-1; index++) { items[index] = items[indexTwo+1]; } //Puts c in the last spot items[count-1] = c; } }