我有下面的類:創建一個iterator在Java中
public abstract class MapObjects<MapleMapObject> {
private Map map;
private HashMap<Integer, MapleMapObject> objects;
public MapObjects(Map map) {
this.map = map;
this.objects = new HashMap<>();
}
public void add(MapleMapObject object) {
objects.put(map.getObjectId(), object);
onAdd();
}
public void remove(MapleMapObject object) {
onRemove();
objects.remove(object.getObjectId());
}
protected abstract void onAdd();
protected abstract void onRemove();
}
我想創建一個迭代器,所以我可以遍歷從此類擴展類。舉例來說,如果我有一個類名爲MapCharacters extends MapObjects<Character>
,我希望能夠做到以下幾點:
characters = new MapCharacters(this);
for (Character character : characters)
如何才能實現這一目標?
對於增強的for循環語法的工作,MapCharacters必須實現'Iterable'。 –
Jesper
爲什麼在代碼示例中使用MapObjects,然後在您的問題中討論MapObjects ?你應該使它通用? –