question archive 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.
interface Enumeration
{
// Asks user for an index and return true if a value exists in the next index
public boolean hasNext();
// Asks user for an index and returns the next element in the collection as an Object
public Object getNext();
}
//NameCollection implements a collection of names using a simple array.
class NameCollection
{
String[] names = new String[100];
}
Create constructor and abstract methods of interface in the class NameCollection.
Then write a main method that creates a NamesCollection object with a sample array of strings,
and then iterates through the enumeration outputting each name using the getNext() method.

Answer:
NameCollection.java
public class NameCollection implements Enumeration
{
private int cursor=0; // to get current object
private final int size; // to store size of array stored. Because it can be less than 100.
String[] names = new String[100];
public NameCollection(String[] names)
{
this.names=names;
this.size=names.length;
}
@Override
public boolean hasNext() {
if(cursor+1 <=size)
return true;
return false;
}
@Override
public Object getNext() {
return names[cursor++];
}
public static void main(String args[])
{
String arr[]= {"John","jack","Nick","Abhishek","Vaishali","ABC"};
NameCollection obj=new NameCollection(arr);
while(obj.hasNext())
{
System.out.println(obj.getNext());
}
}
}
Enumeration.java
interface Enumeration
{
// Asks user for an index and return true if a value exists in the next index
public boolean hasNext();
// Asks user for an index and returns the next element in the collection as an Object
public Object getNext();
}
Output:
John jack Nick Abhishek Vaishali ABC

