import plp.collection.*; import plp.util.*; import java.util.Iterator; import java.util.NoSuchElementException; public class TestCList { public static void main(String [] args) { CList cl = new CList(); Position [] pos = new Position[3 * args.length]; for (int j = 0; j < 3; j++) for (int i = 0; i < args.length; ++i) { cl.insert(args[i]); pos[j * args.length + i] = cl.getPosition(); System.out.println(cl); } cl.goFirst(); for (int i = 0; i < 3 * args.length; ++i) { cl.goTo(pos[i]); cl.backward(); System.out.println(cl.get()); } cl.goFirst(); for (int i = 0; ! cl.atEnd(); i++) { cl.remove(); System.out.println(cl); cl.forward(); cl.forward(); } for (int i = 0; i < 3 * args.length; ++i) System.out.println(pos[i].isValid()); System.out.println("Iteration #1"); for (Iterator iterator = cl.iterator(); iterator.hasNext();) System.out.println(iterator.next()); System.out.println("Iteration #2"); try { for (Iterator iterator = cl.iterator();;) System.out.println(iterator.next()); } catch (NoSuchElementException e) { System.out.println("Iteration #2 ended"); } cl = new CList(); for (int i = 0; i < args.length; ++i) cl.insert(args[i]); cl.backward(); cl.backward(); System.out.println(cl); FirstCharPredicate p = new FirstCharPredicate('a'); Iterator it = cl.iterator(p); while (it.hasNext()) { it.next(); it.remove(); } /* System.out.println("Iteration #3"); try { for (Iterator iterator = cl.iterator();;) System.out.println(iterator.next()); } catch (NoSuchElementException e) { System.out.println("Iteration #3 ended"); } */ System.out.println(cl); p = new FirstCharPredicate('b'); it = cl.iterator(p); while (it.hasNext()) { it.next(); it.remove(); } System.out.println(cl); p = new FirstCharPredicate('c'); it = cl.iterator(p); while (it.hasNext()) { it.next(); it.remove(); } System.out.println(cl); for (it = cl.iterator(); it.hasNext();) System.out.println(it.next()); } }