1

両端キュー (java.util.Dequeue) を使用しており、キュー内のオブジェクトを検索して返したいと考えています。

現在、このcontains()メソッドを使用してキューにオブジェクトが含まれているかどうかを確認していますが、見つかったオブジェクトの実際のインスタンスを取得する方法がわかりません。クラス変数のサブセットの等価性をテストするためにメソッドをオーバーライドしているため、検索されているインスタンスは同じインスタンスではありません。equals()

Dequeue を使用してこれを行うことができない場合、代わりに何を使用すればよいですか? オブジェクトをリストのどちらかの端にプッシュし、最初から削除する必要があります。そして明らかに、オブジェクトを検索してそのインスタンス化を取得できます。

4

4 に答える 4

0

おそらくリンクリストを使用していますか?任意の位置にある要素を取得するメソッドを取得します。

于 2013-04-05T13:04:37.973 に答える
0

LinkedListを実装する を使用できますDeque。次に、次のことができます。

Deque<Object> queue = new LinkedList<>();
// ...
int index = (LinkedList<Object> queue).indexOf(obj);
if (index != -1)
    (LinkedList<Object> queue).get(index);
于 2013-04-05T13:07:18.267 に答える