Javaコレクションフレームワーク(JCF)



Java Collection Framework



Java Collection Frameworkは、コレクションオブジェクトのコレクションを表します。
コレクションフレームワークは、主に、Javaオブジェクトを格納、取得、操作、および変換できる、適切に設計されたインターフェイス、クラス、および暗黙のアルゴリズムのセットで構成されています。コレクションでは、一部のコレクションは重複要素の保存を許可し、一部は重複要素を保存できず、一部のストレージは順序付けられ、一部のストレージは順序付けされていません。主なコレクションオブジェクトは、map、set、list、およびその他の抽象データ型です。
コレクションFrameWork
SetインターフェイスはCollectionを継承しますが、コレクション内の要素の重複は許可されません。
リストインターフェイスはコレクションを継承し、コレクション内での重複を許可し、位置インデックスを導入します。
マップインターフェイスは、コレクションインターフェイスとは何の関係もありません。 Mapの一般的なアプリケーションは、キーワードによって格納された値にアクセスすることです。これらの値にはすべて、単一の独立した要素ではなく、キーと値のペアが含まれています。

リスト(要素にはインデックスがあり、要素は繰り返すことができます)
配列の実装に基づくArrayList、Linklist、Vector(廃止)ベクトル



  • ArrayListは配列に基づいており、データの検索は高速ですが、データの挿入と削除は低速です。
  • LinkedListは、リンクリストの実装に基づいています。データの検索には時間がかかりますが、データの挿入と削除はすばやく行われます。
  • ベクトルは配列に基づいて実装され、スレッドセーフですが、追加、削除、変更、およびチェックの効率は多少低下します。

セット(セットにはインデックスがなく、要素を繰り返すことはできません)

  • ハッシュセット(ハッシュテーブルに相当)
  • ツリーセット(二分木に相当)

マップ(キーと値のペア)



  • HashMap(キー値はハッシュアルゴリズムによって検索されます)
  • LinkedHashMap(キー値はハッシュリンクリストを介して検索されます)
  • TreeMap(キー値はツリー全体で検索されます)
  • ハッシュテーブル(スレッドセーフ)