Stack
Stackクラスは、JDKで(関係)でVectorクラスを拡張している理由を、次に、スタックがpush()
& pop()
操作で動作すると仮定Vector
はありませんが、それはベクトルを拡張するので、私は、スタック上add()
とremove()
操作を行うことができますよ。JDKでStackがVectorを拡張するのはなぜですか?
私はむしろVectorクラスを拡張すると思う、スタッククラスは、構成としてVectorクラスを使用する必要があります。
Stack
Stackクラスは、JDKで(関係)でVectorクラスを拡張している理由を、次に、スタックがpush()
& pop()
操作で動作すると仮定Vector
はありませんが、それはベクトルを拡張するので、私は、スタック上add()
とremove()
操作を行うことができますよ。JDKでStackがVectorを拡張するのはなぜですか?
私はむしろVectorクラスを拡張すると思う、スタッククラスは、構成としてVectorクラスを使用する必要があります。
両方Stack
とVector
は、Javaの最初のリリースに含まれていました。当時のインターネットの狂乱のために、Javaはその時間より前に市場に突入した。
日付時刻クラスなど、最も初期のバージョンのJavaにバンドルされているクラスの中には、よく考えられていないものがありました。彼らは、後でオープンソースのプロジェクトや業界コンソーシアムプロジェクトを通じてJAva Community Processを介して作成されたものなどの図書館と同様に、ピアレビューと公衆の監視を受けていませんでした。
java.util.Date
/
.Calendar
のような古い日時クラスに取って代わります。古いクラスは、既存のアプリケーションとの下位互換性のためにJavaのままですが、新しいコードでは使用しないでください。
Stack
クラスのドキュメントでは、Deque
インターフェイスの実装を代わりに使用する必要があることを明確に示しています。
あなたの答えをありがとう、私は[なぜスタック拡張ベクトルですか?](http://community.oracle.com/thread/1156973?start=0&tstart=0)に関するより良い議論を発見しました。 –
類似のディスカッション:https://community.oracle.com/thread/1156973?start=0&tstart=0 – yshavit
はい、リンクには必要なものが含まれています。 –