We can print Linked list with Iterator and for loop. How does it differ as far as memory allocation is concerned? Which one is more effective?
public class Demo {
    public static void main(String[] args) {
        LinkedList<String> placesToVisit = new LinkedList<String>();
        placesToVisit.add("Sydney");
        placesToVisit.add("Melbourne");
        placesToVisit.add("Brisbane");
        placesToVisit.add("Perth");
        printListWithoutFor(placesToVisit);
        printListWithFor(placesToVisit);
    }
    private static void printListWithoutFor(LinkedList<String> linkedList) {
        Iterator<String> i = linkedList.iterator();
        while (i.hasNext()) {
            System.out.println("Now visiting " + i.next());
        }
        System.out.println("=========================");
    }
    private static void printListWithFor(LinkedList<String> linkedList){
        for (int i=0; i<linkedList.size(); i++){
            System.out.println("Now visiting " + linkedList.get(i));
        }
    }
}
 
     
    