2011-01-03 3 views
1

2011年にまだthisという質問が残っているのだろうか?12月2日にCollections framework.isでJ2SE 1.2がリリースされた。Vectorを使用している人はいない。まだCollections.SynchronizedList(リストのリスト)/ CopyOnWriteArrayListの代わりにVectorを使用している人はいますか?

+7

まだ「ベクトル」を使用しているSOに質問が表示されます。それは私を泣かせます。 – skaffman

+2

Vector、Hashtable、およびEnumerationに関する質問は、残念ながらまだ残っていますが、そのうち3つは半年前から廃止されています。それでも、これは本当の質問ではありません** –

+0

古いJDKクラスは決して死ぬことはなく、ゆっくりと消えてしまいます。 –

答えて

0

私は今何年もVectorやHashtableを使っていません。

2

Java 5.0では、2004年に並行性コレクションが導入されています。多くの人がCollections.synchronizedList()の代わりにこれらを使用しているようです。彼らは直接の交換ではなく、時にはJDK 1.2や5.0のコレクションを使うほうが良いかもしれませんが、人々がそれらをうまく利用しない頻度は私には驚きました。

+0

コンカレントコレクションクラスに言及してくれてありがとう。 – pmu

0

Sun(および現在のOracle)は常にJavaとの下位互換性を維持することを非常に重要と考えているため、VectorおよびHashtableなどの従来のコレクションクラスは依然として存在します。古いJava APIから古いものを削除することは決してありません。これは古いプログラムを破るためです。

本当の質問は次のようなものです。なぜSun(またはOracle)はレガシーコレクションクラスを非推奨にしませんでしたか?

古いクラスが推奨されなくなった理由は明確ではありません。おそらくこれは、APIの他の部分がまだそれらのレガシークラスを使用しており、Sun/Oracleはコンパイル中に非推奨の警告をユーザにあまりにも邪魔したくないからです。

とにかく、古いAPIを扱っているなど、実際には必要ない限り、これらのレガシークラスを使用しないでください。

0

私は頻繁にSwingにVectorを使用します。 DefaultTableModelのようなクラスを使用するアプリケーションがたくさんあります。これらのクラスは、Vectorにデータがある場合に使用するのが簡単です。この周りには方法がありますが、パフォーマンスを妨げないようにシンプルに保つのが好きです。

しかし、他の時間に私はリストを必要とする私はベクトルを使用しません。

関連する問題