以前は、レコードのオブジェクトを格納するArrayListを設定しました。私はそれ以来、オブジェクトが格納されているHashMapでArrayListを置き換え、個人のユーザー名文字列をキーとして使用しています。Java - ArrayListを置き換えるHashMapでの反復
このディレクトリのクラスは、Iterable 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
HashMapを直接反復処理することはできません。entrySetを使用する必要があります。したがって、Iteratorを作成したい場合は、Iterator> mapEntries = records.entrySet()。iterator();を実行します。 –