// @topic S-0314-11-04-10 Java ArrayList iterator demo
// @brief Java ArrayList iterator demo

package iterators;

import java.util.ArrayList;
import java.util.Iterator;

public class MainApp {

    public static void main(String[] args) {
        ArrayList< Element > elements = new ArrayList<>();
        
        Element temp = new Element();
        elements.add( temp );
        elements.add( new Element() );
        elements.add( new Element() );
        
        // for ( Element element : elements ) {...}
        
        Iterator<Element> it = elements.iterator();
        for ( ; it.hasNext(); ) {
            Element element = it.next();
            if ( element == temp ) {
                System.out.print( "removing " );
                System.out.println( element );
                // iterator allows stable loop while removing the content
                it.remove();
                continue;
            }
            System.out.println( element );
        }
    }//main
    
}//class MainApp