主な質問: 私はそれが(効率的に)から自分自身を削除することができるようにLinkedListの内、リスト内の自分自身への参照をオブジェクトを与えるためにいくつかの方法を模索していますが、リストには、自分自身を探してリストをソートしないと(言いました。リストから直接切り離して、前後のアイテムをつなぎ合わせるだけです)。オブジェクトをJavaのLinkedListから削除する方法を教えてください。
あまり必要な詳細:私はグーグルの合理的な金額を行われ、循環参照を使用しないように助言する人以外のものを見つけていませんでした 。
私はゲームをデザインしていますが、ゲームオブジェクトにはさまざまなインターフェイスを実装して、優先順位を付けてさまざまなリストに入れることができます。 1つのオブジェクトがドロー・ループ、そのアニメーションのフレーム、優先度の高いロジック・ループ、および低優先度のロジック・ループを同時に通過するループである可能性があります。私は、removeFrom | TypeOfLoop |を実装したいと思います。メソッドを呼び出すことで、オブジェクトがもはやループ内にある必要がないと判断した場合、オブジェクトはそれ自身を直接削除することができます。これにより、実際のループを行うオブジェクトが楽に簡単に保たれます。
また、これを行う方法がない場合、リスト内で項目内の変数に基づいて各項目を削除したいかどうかを確認するフラグシステムを実装することを考えています。しかし、私はこれをやって、リファレンスで取り除くことができる自分自身のLinkedListを作ることができると思うのは嫌です。
ええと、あなたのオブジェクトは、ノードが追加された後でそのノードへの参照を保持する必要があると思います。それでも循環参照が導入されますが、実際にはO(1)の削除時間があります。 私は好きです! – greyfairer
これは完璧に見える!本当にありがとう。 – Casey
ハックするのではなく 'Node'を返す独自の' add'と 'offer'メソッドを追加することで' Collection'を保つことができます。おそらく 'nAdd'と' nOffer'です。 – OldCurmudgeon