2009-08-24 11 views
7

Hmm。私はStackがVectorのサブクラスであることに気づいています。VectorとHashtableは、必要がなくても組み込み同期のために「古い」データ構造と見なされました。 (あなたのためにそれを提供していないリスト、地図などと比較して)java.util.Stack適切なデータ構造ですか?

これはクラスであり、インターフェイスではありません。

もっと近代的な推奨代替品はありますか?

答えて

15

java.util.Deque

LIFO(後入れ先出し)はスタックとしてDequeとも使用することができます。このインタフェースは、従来のStackクラスより優先して使用する必要があります。両端キューがスタックとして使用される場合、両端キューの先頭から要素がプッシュおよびポップされます。

+3

Collections.asLifoQueueは、「Deque」を「適切な」LIFOキューにします。 –

2

私の目的(add()およびremoveLast()がpushおよびpop操作)にLinkedListを使用してしまいました。これは重複しているようです。

関連する問題