所以我正在研究一個涉及兩種數據類型的程序:一個鏈表和一個Arraylist。Java:迭代器
鏈表迭代器看起來像:
private class NodeIterator implements Iterator<StudentIF> {
private Node curr;
public NodeIterator(Node head) {
curr = head;
}
public void remove() { }
public boolean hasNext() {
if (curr == null)
return false;
return true;
}
public StudentIF next() {
Node temp = curr;
curr = curr.getNext();
return temp.getData();
}
} // end class NodeIterator
,我調用ArrayList的迭代方法/類。
MyArrayListName.iterator();
下面是不調用迭代器的工作方法:
public StudentIF getStudent(int id) {
Iterator<StudentIF> xy = iterator();
while (xy.hasNext()) {
if (id == xy.next().getId()) {
return xy.next();
}
}
// Student doesn't exist
return null;
}
我的問題是,當我把我的方法,通過它們的ID(實例變量)來得到我的對象,它總是抓起NEXT對象,而不是我想要的對象。如何使用鏈接列表和數組列表獲取當前對象?
請幫幫我!
謝謝Brian。我已經接受了你的回答,好的贖罪! :-)我有這個錯誤,其他地方,這是我正在修復;謝謝你的幫助! – 2011-05-06 03:46:59