知っていると便利な章
4.8. Hashtable と Vector
HashtableとVectorは互換性を保つために残されているといっても過言ではないので、積極的に使う必要性はありません。
HashtableとHashMapの違いは同期化(synchronized)の有無です。
『Before』
Map<Integer, String> m = new Hashtable<>(...);
『After』
Map<Integer, String> m = Collections.synchronizedMap(new HashMap<>(...));
synchronizedMapによって同期化がなされます。つまりマルチスレッドに対応します。 HashMapを同期化することによってHashtableと全く同じ機能になります。
VectorとArrayList の違いは同期化の有無です。
『Before』
List<String> list = new Vector<>(...);
『After』
List<String> list = Collections.synchronizedList(new ArrayList<>(...));
ArrayList を同期化することによってVectorと全く同じ機能になります。
同じように、SetやCollectionも同期化することができます。
// 同期化コレクション Collection<String> c = Collections.synchronizedCollection(new ArrayList<>()); // 同期化セット Set<String> s = Collections.synchronizedSet(new HashSet<>());< 前のページへ 次のページへ >
-
IS 559680 / ISO27001
認証範囲 本社、芝大門オフィス情報セキュリティ基本方針 -
個人情報保護方針
個人情報の取扱いについて
保有個人データ又は
第三者提供記録に関する
事項の周知について
特定個人情報の取扱いについて -
FS 671851 / ISO9001
認証範囲 本社、芝大門オフィス品質方針