わかりましたので、「高度なデータ構造」(この場合はちょっとしたツリー) のクラスを持っているので、Iterator をプライベート クラスとして実装しました。そのため、反復子は、最後に返された要素を削除するための remove 関数を実装する必要があります。
現在、私のADTはすでにremove関数を実装しています。この場合、イテレータに別のremove関数を実装することで得られるものはほとんどありません(考えてみれば、何も考えていません)。
では、ADT から削除を呼び出すにはどうすればよいですか
私の構造のスケッチ:
public class ADT {
...
private class ADT_Iterator impliments java.util.Itorator{
...
public void remove(){
//where I want to call the ADT's remove function from
}
...
public void remove( Object paramFoo )
{
...
}
...
}
したがって、 remove(FooInstance) を呼び出すだけでは機能しません (そうなりますか?)。 this.remove(FooInstance) は同じことです。
私は何と呼びますか?(そして、AD T が自由に変更できることに注意してください)
両方ともremoveHelper関数を呼び出させることができると思います...