question archive Listed next is a code skeleton for an interface called Enumeration and a class called NameCollection

Listed next is a code skeleton for an interface called Enumeration and a class called NameCollection

Subject:Computer SciencePrice:3.87 Bought7

Listed next is a code skeleton for an interface called Enumeration and a class called NameCollection. Enumeration provides an interface to sequentially iterate through some type of collection. In this case, the collection will be the class NameCollection that simply stores a collection of names using an array of strings.

public interface Enumeration { // Returns true if another element in the collection exists public boolean hasNext(); // Returns the next element in the collection as an Object public Object getNext(); } /** * NameCollection implements a collection of names using * a simple array. */ public class NameCollection { String[] names; /** * The list of names is initialized from outside * and passed in as an array of strings */ public NameCollection(String[] names) { this.names = names; } /** * getEnumeration should return an instance of a class that implements * the Enumeration interface where hasNext() and getNext() * correspond to data stored within the names array. */ public Enumeration getEnumeration () { // Complete code here using an inner class } } Complete the method getEnumeration() so that it returns an anonymous inner class that corresponds to the Enumeration interface for the names array in NamesCollection. Then write a main method that creates a NamesCollection object with a sample array of strings, retrieves the Enumeration for this class via getEnumeration(), and then iterates through the enumeration outputting each name using the getNext() method

pur-new-sol

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE

Answer Preview

Answer:

Enumeration.java
_______________________________

public interface Enumeration {
    // Returns true if another element in the collection exists
    public boolean hasNext();

    //Returns the next element in the collection as an Object
    public Object getNext();
}

___________________________________________
NameCollection.java
_____________________________________________

/**
 * NameCollection implements a collection of names using * a simple array.
 */
public class NameCollection {
    String[] names;

    /**
     * The list of names is initialized from outside * and passed in as an array of strings
     */
    public NameCollection(String[] names) {
        this.names = names;
    }

    /**
     * getEnumeration should return an instance of a class that implements * the Enumeration interface where hasNext() and getNext() * correspond to data stored within the names array.
     */
    public Enumeration getEnumeration() {
        // Complete code here using an inner class
        return new Enumeration() {
            int index = 0;

            @Override
            public boolean hasNext() {
                return index != names.length;
            }

            @Override
            public Object getNext() {
                return names[index++];
            }
        };
    }


    public static void main(String[] args) {
        //Array of names
        String[] names = new String[]{"Jack", "Harry", "Jacob", "Charlie", "Thomas", "Oscar", "James"};
        NameCollection collection = new NameCollection(names);

        //Get Enumeration
        Enumeration enumeration = collection.getEnumeration();
        //Iterate for each names
        while (enumeration.hasNext()) {
            System.out.println(enumeration.getNext());
        }
    }
}

OUTPUT:
PFA

Related Questions