Newer
Older
package search;
import java.util.Iterator;
public class Bag<Integer> implements Iterable<Integer> {
private class Node{
Integer item;
Node next;
}
/**
* Adds new node to linked list
* @param item the item to be added to the linked list
*/
public void add(Integer item){
Node oldfirst = first;
first = new Node();
first.item = item;
first.next = oldfirst;
}
@Override
public Iterator<Integer> iterator() {
return new ListIterator();
}
private class ListIterator implements Iterator<Integer>{
private Node current = first;
public boolean hasNext(){
return current != null;
}
public void remove(){
current.next = current.next.next;
}
public Integer next(){
Integer item = current.item;
current = current.next;
return item;