The ListIterator    


ListIterator는 Iterator와 다르게 양방향으로 접근이 가능하다.


import javax.swing.*;
import java.util.*;

public class LinkedList_Ex_2_13_P108 {
    
    public static void main(String[] args) {

        LinkedList<String> myList = new LinkedList<String>();
        
        myList.addFirst("Sam");     System.out.println("size = " + myList.size());
        myList.addFirst("Harry");   System.out.println("size = " + myList.size());
        myList.addFirst("Dick");    System.out.println("size = " + myList.size());
        myList.addFirst("Tom");     System.out.println("size = " + myList.size());
        
    int n = myList.size();
    for (int i = 0; i < n; i++) 
        System.out.print(myList.get(i) + "\t");
    System.out.println("n = " + n);
             
        ListIterator<String> myIter = myList.listIterator(2);
        
        System.out.println(myIter.hasPrevious()); 
        System.out.print(myIter.previousIndex() + "\t" + myIter.nextIndex() + "\t");
        System.out.println(myIter.next());
        System.out.print(myIter.previousIndex() + "\t" + myIter.nextIndex() + "\t");
        System.out.println(myIter.next());
        
        System.out.println(myIter.hasNext()); 
        System.out.print(myIter.previousIndex() + "\t" + myIter.nextIndex() + "\t");
        System.out.println(myIter.previous());
        System.out.print(myIter.previousIndex() + "\t" + myIter.nextIndex() + "\t");
        System.out.println(myIter.previous());
        
        while(myIter.hasNext()) {
            System.out.print(myIter.nextIndex() + "\t");
            System.out.println(myIter.next());
        }
}
}



'DATA STRUCTURES' 카테고리의 다른 글

Queue  (0) 2014.10.18
Stack  (0) 2014.10.18
The Iterator  (0) 2014.10.16
The LinkedList Class  (0) 2014.10.16
Applications of ArrayList  (0) 2014.10.16