Javaコレクションフレームワーク(詳細説明)

コレクション:
コンテナーとも呼ばれるコレクションは、データの保存、抽出、削除に使用されます。JDK によって提供されるコレクション API は、java.util パッケージに含まれています。

コレクションのブランチ:
コレクション フレームワークの 2 つの主要なブランチ: Collection インターフェイスと Map インターフェイス

1. 収集インターフェイス:

ここに画像の説明を挿入します
ここに画像の説明を挿入します

1,リスト

List は、要素のインデックスに従って直接アクセスできる、順序付けされた繰り返し可能なコレクションを表します

List コレクションの特徴
コレクション内の要素は
繰り返し可能です。 コレクション内の要素は順番に配置されており、それぞれの要素の順序は次のとおりです。要素が挿入されるのは、コレクション内の各要素の順序です。
インデックスを介してアクセスまたは設定できます。

Listインターフェイスの一般的に使用される実装クラスは次のとおりです: ArrayList、LinkedList、Vector

配列リスト

ArrayList は動的配列であり、最も一般的に使用されるコレクションであり、List クラスの典型的な実装です。

ルールに準拠する任意の要素 (null も含む) を挿入できます。各 ArrayList には、配列のサイズを表す初期容量 (10) があります。

コンテナ内の要素が増え続けるとコンテナのサイズも大きくなり、コンテナに要素が追加されるたびに容量チェックが行われ、オーバーフローしそうになると拡張操作が行われます。

したがって、挿入する要素の数がわかっている場合は、時間と効率を無駄にする過度の拡張操作を避けるために、初期容量値を指定するのが最善です。

ArrayList はランダム アクセスに優れていますが、ArrayList は非同期です

ベクター

ArrayList と似ていますが、Vector は同期されており、動作は ArrayList とほぼ同じです。

リンクリスト

LinkedList は、双方向の循環リンク リストを使用して実装されます。LinkedList は、List インターフェイスの別の実装です。インデックスに従ってコレクション要素にアクセスすることに加えて、LinkedList は、両端キューとして使用できる Deque インターフェイスも実装します。つまり、「スタック」として使用することも、キューとして使用することもできます。

2、セット

Set は順序付けされていない反復不可能なコレクションを表し、要素自体に基づいてのみアクセスできます。

Set は Collection インターフェイスを拡張し、重複した要素を格納できない順序付けされていないコレクションです。

Set インターフェイスの一般的に使用される実装クラスは、HashSet、LinkedHashSet、および TreeSet です。
ここに画像の説明を挿入します

3、キュー

キューはキューの集合です

キューは重要なタイプのデータ構造であり、FIFO、末尾追加、先頭削除 (アドバンスト キューの要素が最初にデキューされます) をサポートしており、私たちの生活におけるキューに似ています。
ここに画像の説明を挿入します

2. マップインターフェイス:

ここに画像の説明を挿入します

1.ハッシュマップ

Map インターフェイスはハッシュ テーブルの実装に基づいており、キーと値のペアの処理に最も頻繁に使用されるデータ型です。

キーの hashCode 値に従ってデータを保存します。ほとんどの場合、その値は直接見つけることができます。アクセス速度が速く、走査順序が不確実で、スレッドが安全ではないという特徴があり、最大 1 つのキーを null および複数の値にすることができます。 nullになる。

Collections の synchronizedMap メソッドを使用して HashMap をスレッドセーフにするか、ConcurrentHashMap クラスを使用できます。

2.ハッシュテーブル

Hashtable と HashMap は、ストレージ構造と実装の点で多くの類似点があります。違いは、Dictionary クラスから継承され、スレッドセーフであることです。さらに、Hashtable ではキーと値を null にすることができず、同時実行性はConcurrentHashMapほど良くはありません。

新しいコードでの Hashtable の使用は推奨されません。スレッド セーフが必要ない場合は HashMap に置き換えることができます。スレッド セーフが必要な場合は ConcurrentHashMap を使用できます。

3.リンクされたハッシュマップ

LinkedHashMap は HashMap を継承し、Map インターフェイスのハッシュ テーブルとリンク リストの実装です。二重リンク リストを維持します。このリンク リストは、挿入順序またはアクセス順序などの反復順序を定義します。

4.ツリーマップ

TreeMap は SortMap インターフェイスを実装しており、保存したレコードをキーに従って並べ替えることができます。デフォルトでは、キー値によって昇順 (自然順序) で並べ替えられます。並べ替えコンパレータを指定することもできます。Iterator を使用して TreeMap を走査する場合、取得されたレコードはソートされます。

5.マップ概要

ここに画像の説明を挿入します
:
ok. 上記はコレクション フレームワークの内容全体です

おすすめ

転載: blog.csdn.net/sweetser/article/details/134585167