2009-12-05 100 views
1

這個API:listIterator API描述的含義是什麼?

/// Returns a list iterator of the elements in this list (in proper sequence) 
public ListIterator<E> listIterator(int index) 

什麼是正確的順序的含義是什麼?

List<Integer> list = new ArrayList<Integer>(); 
list.add(1); 
list.add(2); 
list.add(3); 

// Is the sequence returned by i1 and i2 is the same? 
ListIterator<Integer> i1 = list.listIterator(); 
ListIterator<Integer> i2 = list.listIterator(); 

i1.next(); 

int result = i1.next(); // Is result 2? Or random? 
+0

請檢查您的代碼,不清楚list.next()應該做什麼 – dfa 2009-12-05 11:35:51

+0

列表列表中沒有next()方法 – SjB 2009-12-05 11:37:35

回答

3

當迭代在索引的順序的ListIterator對象返回正確的意思是,和I1,I2是獨立的:

import java.util.ArrayList; 
import java.util.List; 
import java.util.ListIterator; 

public class Main 
{ 
    public static void main(String[] args) 
    { 
     List<Integer> list = new ArrayList<Integer>(); 
     list.add(1); 
     list.add(2); 
     list.add(3); 

     // Is the sequence returned by i1 and i2 is the same? 
     ListIterator<Integer> i1 = list.listIterator(); 
     ListIterator<Integer> i2 = list.listIterator(); 

     while (i1.hasNext()) 
     { 
      System.out.println(i1.next()); 
     } 
     while (i2.hasNext()) 
     { 
      System.out.println(i2.next()); 
     }  
    } 
} 

的輸出是:

1 
2 
3 
1 
2 
3 
2

是的結果是2,數組列表的正確順序意味着索引的順序。

3

返回的列表迭代該列表中的元素(以正確的順序)

這意味着e ListIterator.next()方法將按列表中出現的順序返回列表的元素。這同樣適用於List javadocs中使用短語「正確順序」的其他地方。