私は、JavaでのSetインターフェイスのカスタム実装の背後にある抽象的なアイデア全体を理解するのに苦労してきました。私たちの講義では、機能セット、さらにはフラグセットを実装しました。どちらも、セットの実装用に正確に構築された機能を備えた本質的に再帰的なリストのようです。
一部のカスタム実装ではリストからオブジェクトが削除されない場合でも、1日の終わりに、セット内のオブジェクトは単純なfor-eachループを使用してセットから呼び出されます。
たとえば、前述のこの機能セットでは、{1,2,3}はAdd 3、Add 2、Add 1、Emptyとして表されますが、直後に呼び出されるremove(2)メソッドはRemove 2、Add 3、Add2のようになります。 、1を追加、空。次に、Javaは、要素がセットの一部であるかどうかをどのような基準で決定しますか?オブジェクトがセットにまだ存在するかどうかを判断するために、add()メソッドとremove()メソッドでのみ機能しますか?
十分に首尾一貫していることを願っています。