以前我設置了一個ArrayList來包含記錄的對象。我已經用存儲對象的HashMap替換了ArrayList,並使用個人的用戶名字符串作爲鍵。Java - 用HashMap替代ArrayList的迭代
該目錄的類實現了通過implements Iterable<Object>
(僅僅是一個問題,但爲什麼<Object>
需要?)。
用於迭代ArrayList上面的代碼是:
public Iterator iterator() {
return records.iterator();
}
然後我用這個迭代器中的所有該類對象如下:
for (Object o : directory) {
TelephoneRecords temp = (TelephoneRecords) o;
System.out.println(temp.toString());
}
不幸的是,HashMapName.iterable( );似乎會引發問題,那麼我該如何使用HashMap來處理這種行爲?
那麼,爲什麼我的records.iterator(); ? – mino 2012-02-15 20:37:55
你不能直接遍歷HashMap,你必須使用entrySet。因此,如果你想創建一個迭代器,請嘗試:Iterator> mapEntries = records.entrySet()。iterator(); –
2012-02-15 20:45:52