コンテナ

container.png
カテゴリ クラス 説明 重複 利点 欠点
List ArrayList 配列を扱います。 O sort()が無い,末尾以外へのadd()がLinkedListよりも遅い
要素の並び方が重要になる際に使用する LinkedList 配列を扱います。挿入・削除が高速です。順次アクセスも高速 O 任意の位置へのadd(),remove()が高速
Vector 配列を扱います。排他制御をおこなう.パフォーマンスが悪いため現在ではあまり推奨されない古いクラスです。互換性のためだけに損祭している O
Queue
Set HashSet 値の重複を許さない順不同の要素集合を扱います。 X
重複がないこと TreeSet 値の重複を許さないソートされたの要素集合を扱います。 X 常にソートされている 新たな要素を追加する度にソートが実行される
EnumSet
Map HashMap キーと値の組からなる要素の集合を扱います。k=vの並びが適当 X O 更新処理の速度が一番速い
キーによって要素が見つけられる TreeMap キーと値の組からなる要素の集合を扱います。キーが昇順(数が小から大へ)でソートされています。subMapが利用できる X O getが1番速い put/removeに時間が掛かる
LinkedHashMap k=vを入れた順番に並ぶ X O 反復処理の速度は速い 要素の追加や削除の速度はHashMapよりもいくぶん遅い
EnumMap X O 早い enumのみをキーにできる。え、それってただの配列じゃん?
HashTable 古い。Java2 以前のバージョンとの互換性のために残されているようなもの X O

サポートサイト Wikidot.com