2014-02-26 78 views
0

目前這工作正常迭代 Iterator iterator = android.iterator();android LinkedList迭代器,如何跳過迭代

//Using Iterator to iterate over List 
    while(iterator.hasNext()){ 
     String version = iterator.next(); 
     int versionIndex = android.indexOf(version); 
     System.out.println(version, versionIndex); // I get v1, index[0]... 
    } 

但是,用於測試目的,我想繞過第一個元素,並跳到僅第2 ..

while(iterator.hasNext()){ 
     String version = iterator.next(); 
     int versionIndex = android.indexOf(version); 
     if (versionIndex == 0) { 
      version = iterator.next() 
      versionIndex = android.indexOf(version); 
     } 
     System.out.println(version, versionIndex); // should start with v2, index[1] 
    } 

但它不會更改版本...

回答

1

在開始while循環之前調用iterator.next()一次。這將推進迭代器到第二個位置。確保你檢查null。

+0

是的,就是這樣...和問題實際上是空元素...我初始化一個LinkedList(所以空元素),我想跳過第一個空元素... – erwin

1

這是你想要達到的目標嗎?

if(iterator.hasNext()) iterator.next(); 

while(iterator.hasNext()){ 
     String version = iterator.next(); 
     int versionIndex = android.indexOf(version);   
     System.out.println(version, versionIndex); 
    }