1. ホーム
  2. java

[解決済み] キューをエミュレートするArrayList - Java

2022-02-14 19:35:37

質問

JavaでArrayListを使用し、キューとして実装したい。キューに追加するのは、以下の方法で簡単にできます。 queue.add("element") . しかし、飛び出したアイテムを取り除くのは少し厄介です。私が考えた方法は、次のようなものです。

public String pop(){
    String s = queue.get(0);
    queue.remove(0);
    queue.trimToSize();
    return s;
}

pop() メソッドを呼び出すと、キューの次の要素を取得することになるのでしょうか?

どのように解決するのですか?

もし、どうしても ArrayList , remove() は、あなたが望むすべてをすでに行っています。キューを実装するには、単に add()remove(0) . あなたの pop() というメソッドを実装することができます。

public String pop() {
    return queue.remove(0);
}

から ドキュメント :

取り除く

public E remove(int index)

このリストの指定された位置の要素を削除します。 後続の要素を左にシフトする(インデックスから1を引く)。 .

戻り値: リストから削除された要素

しかし、他の人が提案しているように ArrayDeque の方が、キューには適していると思います。