Question: File 1 public interface BagInterface { /** * Gets the current number of entries in this bag. * * @return The integer number of entries
File 1
public interface BagInterface
/**
* Gets the current number of entries in this bag.
*
* @return The integer number of entries currently in the bag.
*/
public int getCurrentSize();
/**
* Sees whether this bag is empty.
*
* @return True if the bag is empty, or false if not.
*/
public boolean isEmpty();
/**
* Adds a new entry to this bag.
*
* @param newEntry The object to be added as a new entry.
* @return True if the addition is successful, or false if not.
*/
public boolean add(T newEntry);
/**
* Removes one unspecified entry from this bag, if possible.
*
* @return Either the removed entry, if the removal. was successful, or
* null.
*/
public T remove();
/**
* Removes one occurrence of a given entry from this bag.
*
* @param anEntry The entry to be removed.
* @return True if the removal was successful, or false if not.
*/
public boolean remove(T anEntry);
/**
* CSC220 ASMT02 PART01
* Removes all occurrences of the given entries
*
* @param entries
*/
public void removeAllOccurences(T [] entries);
/**
* Removes all entries from this bag.
*/
public void clear();
/**
* Counts the number of times a given entry appears in this bag.
*
* @param anEntry The entry to be counted.
* @return The number of times anEntry appears in the bag.
*/
public int getFrequencyOf(T anEntry);
/**
* Tests whether this bag contains a given entry.
*
* @param anEntry The entry to locate.
* @return True if the bag contains anEntry, or false if not.
*/
public boolean contains(T anEntry);
/**
* Retrieves all entries that are in this bag.
*
* @return A newly allocated array of all the entries in the bag. Note: If
* the bag is empty, the returned array is empty.
*/
public T[] toArray();
// public
// public Object[] toArray(); // Alternate
/**
* Creates a new bag that combines the contents of this bag and anotherBag.
*
* @param anotherBag The bag that is to be added.
* @return A combined bag.
*/
// public BagInterface
/**
* Creates a new bag that contains those objects that occur in both this bag
* and anotherBag.
*
* @param anotherBag The bag that is to be compared.
* @return A combined bag.
*/
// public BagInterface
/**
* Creates a new bag of objects that would be left in this bag after
* removing those that also occur in anotherBag.
*
* @param anotherBag The bag that is to be removed.
* @return A combined bag.
*/
// public BagInterface
} // end BagInterface
File 2.
public final class LinkedBag
private Node firstNode; // Reference to first node
private int numberOfEntries;
public LinkedBag() {
firstNode = null;
numberOfEntries = 0;
} // end default constructor
/**
* Sees whether this bag is empty.
*
* @return True if this bag is empty, or false if not.
*/
@Override
public boolean isEmpty() {
return numberOfEntries == 0;
} // end isEmpty
/**
* Gets the number of entries currently in this bag.
*
* @return The integer number of entries currently in this bag.
*/
@Override
public int getCurrentSize() {
return numberOfEntries;
} // end getCurrentSize
/**
* Adds a new entry to this bag.
*
* @param newEntry The object to be added as a new entry
* @return True if the addition is successful, or false if not.
*/
@Override
public boolean add(T newEntry) // OutOfMemoryError possible
{
// Add to beginning of chain:
Node newNode = new Node(newEntry);
newNode.next = firstNode; // Make new node reference rest of chain
// (firstNode is null if chain is empty)
firstNode = newNode; // New node is at beginning of chain
numberOfEntries++;
return true;
} // end add
/**
* Retrieves all entries that are in this bag.
*
* @return A newly allocated array of all the entries in this bag.
*/
@Override
public T[] toArray() {
// The cast is safe because the new array contains null entries
@SuppressWarnings("unchecked")
T[] result = (T[]) new Object[numberOfEntries]; // Unchecked cast
int index = 0;
Node currentNode = firstNode;
while ((index
result[index] = currentNode.data;
index++;
currentNode = currentNode.next;
} // end while
return result;
} // end toArray
/**
* Counts the number of times a given entry appears in this bag.
*
* @param anEntry The entry to be counted.
* @return The number of times anEntry appears in this bag.
*/
@Override
public int getFrequencyOf(T anEntry) {
int frequency = 0;
int counter = 0;
Node currentNode = firstNode;
while ((counter
if (anEntry.equals(currentNode.data)) {
frequency++;
} // end if
counter++;
currentNode = currentNode.next;
} // end while
return frequency;
} // end getFrequencyOf
/**
* Tests whether this bag contains a given entry.
*
* @param anEntry The entry to locate.
* @return True if the bag contains anEntry, or false otherwise.
*/
@Override
public boolean contains(T anEntry) {
boolean found = false;
Node currentNode = firstNode;
while (!found && (currentNode != null)) {
if (anEntry.equals(currentNode.data)) {
found = true;
} else {
currentNode = currentNode.next;
}
} // end while
return found;
} // end contains
// Locates a given entry within this bag.
// Returns a reference to the node containing the entry, if located,
// or null otherwise.
private Node getReferenceTo(T anEntry) {
boolean found = false;
Node currentNode = firstNode;
while (!found && (currentNode != null)) {
if (anEntry.equals(currentNode.data)) {
found = true;
} else {
currentNode = currentNode.next;
}
} // end while
return currentNode;
} // end getReferenceTo
/**
* Removes all entries from this bag.
*/
@Override
public void clear() {
while (!isEmpty()) {
remove();
}
} // end clear
/**
* Removes one unspecified entry from this bag, if possible.
*
* @return Either the removed entry, if the removal was successful, or null.
*/
@Override
public T remove() {
T result = null;
if (firstNode != null) {
result = firstNode.data;
firstNode = firstNode.next; // Remove first node from chain
numberOfEntries--;
} // end if
return result;
} // end remove
/**
* Removes one occurrence of a given entry from this bag, if possible.
*
* @param anEntry The entry to be removed.
* @return True if the removal was successful, or false otherwise.
*/
@Override
public boolean remove(T anEntry) {
boolean result = false;
Node nodeN = getReferenceTo(anEntry);
if (nodeN != null) {
nodeN.data = firstNode.data; // Replace located entry with entry in first node
firstNode = firstNode.next; // Remove first node
numberOfEntries--;
result = true;
} // end if
return result;
} // end remove
private class Node {
private T data; // Entry in bag
private Node next; // Link to next node
private Node(T dataPortion) {
this(dataPortion, null);
} // end constructor
private Node(T dataPortion, Node nextNode) {
data = dataPortion;
next = nextNode;
} // end constructor
} // end Node
} // end LinkedBag
File 3
public class LinkedBagDemo {
public static void main(String[] args) {
// CSC220 ASMT02 PART01 Tester
System.out.println("- Creating an empty bag.");
BagInterface
displayBag(aBag);
// Adding strings
String[] contentsOfBag = {"A", " ", " ", "G", "B", "A", " ", "d", "A", "o", "o", "B", "A", "A"};
testAdd(aBag, contentsOfBag);
// Removing all occurence of the given entries from a bag
String[] testString = { "A", "B", " " };
aBag.removeAllOccurences(testString);
displayBag(aBag);
} // end main
// Tests the method add.
private static void testAdd(BagInterface
System.out.print("- Adding to the bag: \t\t\t\t");
for (String content1 : content) {
aBag.add(content1);
System.out.print(content1 + " ");
} // end for
System.out.println();
displayBag(aBag);
} // end testAdd
// Tests the method toArray while displaying the bag.
private static void displayBag(BagInterface
System.out.print("- The bag contains " + aBag.getCurrentSize()
+ " string(s), as follows: \t");
Object[] bagArray = aBag.toArray();
for (Object bagArray1 : bagArray) {
System.out.print(bagArray1 + " ");
} // end for
System.out.println();
} // end displayBag
} // end LinkedBagDemo

Define the method removeA110ccurrences for the class LinkedBag that removes all occurrences of the given entries from a bag. Your program's output should be identical to this output: Output-CSC220 (run) run: 1 -Creating an empty bag. - The bag contains 0 string(s), as follows Adding to the bag: - The bag contains 14 string(s), as follows A A BooAd A BG A -The bag contains 4 string (s), as follows:Go o d BUILD SUCCESSFUL (total time: 0 seconds) A GBA d A o o BAA
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
