Skip to main content
ICT
Lesson AB27 - Java Lists and Iterators
 
Main Previous Next
Title Page >  
Summary >  
Lesson A1 >  
Lesson A2 >  
Lesson A3 >  
Lesson A4 >  
Lesson A5 >  
Lesson A6 >  
Lesson A7 >  
Lesson A8 >  
Lesson A9 >  
Lesson A10 >  
Lesson A11 >  
Lesson A12 >  
Lesson A13 >  
Lesson A14 >  
Lesson A15 >  
Lesson A16 >  
Lesson A17 >  
Lesson A18 >  
Lesson A19 >  
Lesson A20 >  
Lesson A21 >  
Lesson A22 >  
Lesson AB23 >  
Lesson AB24 >  
Lesson AB25 >  
Lesson AB26 >  
Lesson AB27 >  
Lesson AB28 >  
Lesson AB29 >  
Lesson AB30 >  
Lesson AB31 >  
Lesson AB32 >  
Lesson AB33 >  
Vocabulary >  
 

C. The LinkedList Class page 5 of 9

  1. The LinkedList class is based on the linked list data structure, just as the ArrayList class is based on the array data structure. An array is a random access data structure of contiguous elements. Any element in an array can be accessed directly using an index. In a linked list, the elements are connected by links and are not necessarily contiguous. In a linked list, the elements cannot be accessed directly; the elements must be accessed sequentially, following the links until the desired element is reached. A good analogy for an array is the viewing of a DVD (digital video disc). Any scene in a movie on a DVD can be accessed directly using the DVD scene selection menu to 'jump' to the scene.

    By contrast, playing a videocassette tape is an example of a linked list. To reach a scene with a videocassette recorder/player (VCR), the tape must be advanced through all of the previous scenes. Some high-end VCRs have a feature that automatically goes back and marks the beginning and end of each commercial of a recorded program. Then, when playing the tape — with the commercial advance feature turned on — the VCR fast-forwards over the ads to skip them. To the user, it appears that the VCR is accessing the marked positions directly. However, the VCR internally sequences through the taped commercials to reach the marked positions. This is similar to what happens in a linked list when accessing an element by an index.

  2. The LinkedList class, java.util.LinkedList, provides the following methods in addition to the List methods:

    void addFirst( Object x)
    void addLast(Object x)
    Object getFirst()
    Object getLast()
    Object removeFirst()
    Object removeLast()

  3. To declare a reference variable for a LinkedList, do the following.

    // myLinkedList is a reference to an LinkedList
    // object.
    LinkedList <ClassName> myLinkedList =
    new LinkedList <ClassName> ();

  4. An object can be declared as a List and created as a LinkedList or ArrayList. In that case, only the methods of List are available to the object. The advantage is that either implementation can be chosen without having to change any of the code that uses the object.

    if (implementationChoice.equals("LinkedList")) {
       List <String> list = new LinkedList <String>();
    }
    if (implementationChoice.equals("ArrayList")) {
       List <String> list = new ArrayList <String>();
    }
    list.add("John");
    list.add("George");

    for(String temp : list){
       System.out.println(temp);
    }

    Notice that the for each loop can be used here. A for each loop can be used in any collection that implements Iterable.

 

Main Previous Next
Contact
 © ICT 2006, All Rights Reserved.