//Working with a linked list and listIterator import java.util.*; class ListDriver { public static void main (String[] args) { LinkedList myList1 = new LinkedList(); myList1.add (new Integer(9)); myList1.add (new Integer(51)); myList1.add (new Integer(6)); myList1.add (new Integer(153)); myList1.add (new Integer(46)); myList1.addLast (new Integer(78)); ArrayList myList2 = new ArrayList(myList1); myList2.add(new Integer(89)); myList2.add(new Integer(76)); //Working with a linked list and listIterator import java.util.*; class ListDriver { public static void main (String[] args) { LinkedList myList1 = new LinkedList(); myList1.add (new Integer(9)); myList1.add (new Integer(51)); myList1.add (new Integer(6)); myList1.add (new Integer(153)); myList1.add (new Integer(46)); myList1.addLast (new Integer(78)); ArrayList myList2 = new ArrayList(myList1); myList2.add(new Integer(89)); myList2.add(new Integer(76)); // using the iterator to scan thru' the list // from the head to the tail and print out contents System.out.println("List traversed forward"); Integer obj; for (ListIterator i = myList2.listIterator(); i.hasNext();){ obj = (Integer)(i.next()); System.out.println(obj +" "+ myList2.indexOf(obj)); } System.out.println("List Sorted"); ListDriver.listSort(myList2); System.out.println("Sum of Odd numbers in the Lsit"); ListDriver.oddSum(myList2); System.out.println("List after twister"); ListDriver.twister(myList2); boolean x = replace(myList2, new Integer(76), new Integer(77)); //System.out.println(" List in the reverse"); //ListIterator j = myList2.listIterator(myList2.size()); //while (j.hasPrevious()) // System.out.println((Integer)j.previous()); } public static boolean replace(List lst, Object obj1, Object obj2) { if (obj1 == null) return false; ListIterator i = lst.listIterator(); while (i.hasNext()) { if (((Integer)obj1).equals ((Integer)i.next())) { //replace with obj2 i.previous(); i.set(obj2); return true; } } // ASSERT : list has run out return false; } public static void listSort(List lst){ ListIterator litr = lst.listIterator(); Integer min,obj,temp; int minIndex; ListIterator newItr = null; while(litr.hasNext()){ min = (Integer)litr.next(); minIndex = lst.indexOf(min); newItr=lst.listIterator(minIndex+1); while(newItr.hasNext()){ obj = (Integer)newItr.next(); if (obj.intValue() < min.intValue()){ newItr.set(min); min = obj; } } litr.set(min); } litr = lst.listIterator(); while (litr.hasNext()) System.out.println(((Integer)litr.next()).intValue()); } public static void oddSum(List lst){ ListIterator itr = lst.listIterator(); Integer num; int sum =0; while (itr.hasNext()){ num = (Integer)(itr.next()); if (num.intValue()%2 != 0) sum += num.intValue(); } System.out.println("The sum of odd numbers in the list is: " + sum); } public static void twister(List lst){ Integer obj1,obj2; int lstSize = lst.size(); int toExchange; for (int i=0;i