
import java.util.Vector;
import java.util.Iterator;

public class IteratorReferenceDemo
{
    public static void main(String[] args)
    {
        Vector birthdays = new Vector( );

        birthdays.add(new Date(1, 1, 1990));
        birthdays.add(new Date(2, 2, 1990));
        birthdays.add(new Date(3, 3, 1990));

        System.out.println("The vector contains:");

        Iterator i = birthdays.iterator( );
        while (i.hasNext( ))
            System.out.println(i.next( ));

        i = birthdays.iterator( );
        Date d = null; //To keep the compiler happy.
        System.out.println("Changing the references.");
        while (i.hasNext( ))
        {
            d = (Date)i.next( );
            d.setDate(4, 1, 1990);
        }

        System.out.println("The vector now contains:");

        i = birthdays.iterator( );
        while (i.hasNext( ))
            System.out.println(i.next( ));

        System.out.println("April fool!");
    }
}

