public Animal getElement(int index) { Animal ani = animals.get(index); switch (ani.getSort()) { case DEER: Deer deer = (Deer) ani; return (Deer) deer.clone(); case DOG: Dog dog = (Dog) ani; return (Dog) dog.clone(); case GIFRAFFE: Gifraffe gifraffe = (Gifraffe) ani; return (Gifraffe) gifraffe.clone(); case HORSE: Horse horse = (Horse) ani; return (Horse) horse.clone(); case LION: Lion lion = (Lion) ani; return (Lion) lion.clone(); case WOLF: Wolf wolf = (Wolf) ani; return (Wolf) wolf.clone(); case CHEETAH: Cheetah cheetah = (Cheetah) ani; return (Cheetah) cheetah.clone(); default: // Don't know that type of creature. return (Animal) ani.clone(); } }
public void addElement(int index, Animal animal) { if (index < 0 || index >= animals.size()) { index = 0; } AnimalSort sort = animal.getSort(); animal.setID(sort.getAbbrv() + (++animalCount[sort.ordinal()])); this.animals.add(index, animal); }