Java講座

知っていると便利な章
4.7. HashtableとVector
HashtableとVectorは互換性を保つために残されているといっても過言ではないので、 積極的に使う必要性はありません。

HashtableとHashMapの違いは同期化(synchronized)の有無です。

『Before』
Map m = new Hashtable(...);

『After』
Map m = Collections.synchronizedMap(new HashMap(...));
synchronizedMapによって同期化がなされます。つまりマルチスレッドに対応します。
HashMapを同期化することによってHashtableと全く同じ機能になります。

VectorとArrayList の違いは同期化の有無です。


『Before』
List list = new Vector(...);

『After』
List list = Collections.synchronizedList(new ArrayList(...));
ArrayList を同期化することによってVectorと全く同じ機能になります。

同じように、SetやCollectionも同期化することができます。
// 同期化コレクション
Collection c = Collections.synchronizedCollection(new ArrayList());

// 同期化セット
Set s = Collections.synchronizedSet(new HashSet());

// 同期化マップ
Map m = Collections.synchronizedMap(new HashMap());
前のページ   次のページ

当ページ・当社へのご意見やご感想があればお手数ですが「お問い合わせ」までお願いいたします。
当社への就職をお考えの方は「採用情報ページ」までお願いいたします。
C言語を学びたい方は「C言語講座」もどうぞ。