public class BagWrapper { public static interface Bag { public int size(); public boolean isEmpty(); public void add(Object e); public boolean isMember(Object e); public boolean
public class BagWrapper {
public static interface Bag { public int size();
public boolean isEmpty();
public void add(Object e);
public boolean isMember(Object e);
public boolean remove(Object e);
public int removeAll(Object e);
public int count(Object e);
public void clear(); public Object[] toArray(); } public static class DynamicBag implements Bag{
private Object[] elements; private int currentSize; private static final int DEFAULT_SIZE = 10; public DynamicBag(int initialSize) { if (initialSize
@Override public int size() { return this.currentSize; }
@Override public boolean isEmpty() { return this.size() == 0; }
@Override public void add(Object e) { if (e == null) { throw new IllegalArgumentException("Argument cannot be null"); } if (this.size() == this.elements.length) { this.reAllocate(); } this.elements[this.currentSize++] = e; }
private void reAllocate() { Object temp[] = new Object[2*this.size()]; for (int i=0; i
@Override public boolean isMember(Object e) { return this.count(e) > 0; }
@Override public boolean remove(Object e) { for (int i=0; i
}
@Override public int removeAll(Object e) { int result = 0; while(this.remove(e)) { result++; } return result; }
@Override public int count(Object e) { int result = 0; for (int i=0; i
@Override public void clear() { for (int i=0; i =n) { count=B.count(i)+count; B.removeAll(i); } } return count; } }
Write a non-member method named bagscaler, which removes from a Bag all elements that occur N or more times. The method returns the number of copies removed, making B = (Joe, Kim), and returns 5Step by Step Solution
There are 3 Steps involved in it
Step: 1
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started