So for a school project, I need to make a private method that implements the Iterator interface. I have my method SetIterator, and it looks like this:
private class SetIterator implements Iterator<T> {
private T[] items;
private int count;
private int current;
private SetIterator(T[] elements, int size) {
items = elements;
count = size;
current = 0;
}
private boolean hasNext() {
return (current < count);
}
private T next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
return items[current++];
}
However, I am not able to compile because I'm getting this error message:
ArraySet.java:311: error: next() in ArraySet.SetIterator cannot implement next() in Iterator
private T next() {
^
attempting to assign weaker access privileges; was public
where T,E are type-variables:
T extends Comparable<? super T> declared in class ArraySet
E extends Object declared in interface Iterator
ArraySet.java:307: error: hasNext() in ArraySet.SetIterator cannot implement hasNext() in Iterator
private boolean hasNext() {
^
attempting to assign weaker access privileges; was public
I've never really run into this before, so any help would be greatly appreciated.
next()public:public T next() {.