Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

import java.util.Iterator; import java.util.NoSuchElementException; public class Exam1a1List1Wrapper { public static interface List extends Iterable { public int size(); public boolean isEmpty(); public boolean isMember(E e);

image text in transcribed

import java.util.Iterator; import java.util.NoSuchElementException;

public class Exam1a1List1Wrapper { public static interface List extends Iterable { public int size(); public boolean isEmpty(); public boolean isMember(E e); public int firstIndexOf(E e); public int lastIndexOf(E e);

public void add(E e); public void add(E e, int position); public E get(int position); public E remove(int position); public E replace(int position, E newElement); public void clear(); public Object[] toArray(); }

@SuppressWarnings("unchecked")

public static class ArrayList implements List { @SuppressWarnings("hiding") private class ArrayListIterator implements Iterator { private int currentPosition;

public ArrayListIterator() { super(); this.currentPosition = 0; }

@Override public boolean hasNext() { return this.currentPosition

@Override public E next() { if (this.hasNext()) { E result = (E) elements[this.currentPosition++]; // elements is array in enclosing class return result; } else { throw new NoSuchElementException(); } } } private E[] elements; private int currentSize; private static final int DEFAULT_SIZE = 10; public ArrayList(int initialSize) { if (initialSize

public ArrayList() { this(DEFAULT_SIZE); } @Override public int size() { return this.currentSize; }

@Override public boolean isEmpty() { return this.size() == 0; }

@Override public boolean isMember(E e) { return this.firstIndexOf(e) >= 0; }

@Override public int firstIndexOf(E e) { for (int i=0; i

@Override public void add(E e) { if (this.size() == this.elements.length) { this.reAllocate(); } this.elements[this.currentSize++] = e; }

private void reAllocate() { E[] temp = (E[]) new Object[2*this.size()]; for (int i=0; i

@Override public void add(E e, int position) { if ((position this.currentSize)){ throw new IndexOutOfBoundsException("Illegal position"); } if (position == this.currentSize) { this.add(e); } else { if (this.size() == this.elements.length) { this.reAllocate(); } for (int i=this.currentSize; i > position; --i) { this.elements[i] = this.elements[i-1]; } this.elements[position] = e; this.currentSize++; } }

@Override public E get(int position) { if ((position = this.currentSize)) { throw new IndexOutOfBoundsException("Illegal position"); } return this.elements[position]; }

@Override public E remove(int position) { if ((position = this.currentSize)) { throw new IndexOutOfBoundsException("Illegal position"); } E result = this.elements[position];

for (int i=position; i

}

@Override public E replace(int position, E newElement) { if ((position = this.currentSize)) { throw new IndexOutOfBoundsException("Illegal position"); } E result = this.elements[position]; this.elements[position] = newElement; return result; }

@Override public void clear() { while(!this.isEmpty()) { this.remove(0); } }

@Override public Object[] toArray() { Object[] result = (E[]) new Object[this.size()]; System.arraycopy(this.elements, 0, result, 0, this.size()); // for (int i=0; i

@Override public Iterator iterator() { return new ArrayListIterator(); }

@Override public int lastIndexOf(E e) { for (int i=this.currentSize-1; i>= 0; --i) { if (this.elements[i].equals(e)) { return i; } } // not found return -1; }

} // NON-MEMBER METHODS

public static List successors(List L, String e){ int counter=0; for(int i=L.firstIndexOf(e);i Write a non-member method named successors, which returns a List with all the successors of an element e in a List L of strings. For example, if L= {Bob, Ned, Amy, Ned, Ron), then a call to successors(L, "Ned") returns (Amy, Ned, Ron). The method returns nullife is not in L

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

What is a short sale? When would this strategy be used?

Answered: 1 week ago