#1. コンテナとは何ですか
Java には、コンテナのオブジェクトを格納するために特別に使用されるクラスがあります。他のクラスと同様に、このクラスはコンテナと呼ばれ、同じまたは類似のプロパティを持つ複数のクラス オブジェクトを組み合わせて形成される全体です。
いくつかの一般的なコンテナの紹介:
推奨される Java 学習ビデオ チュートリアル: Java 教育ビデオ
1. List
順序付けられたコレクション (シーケンスとも呼ばれます)。このインターフェイスのユーザーは、リスト内の各要素が挿入される場所を正確に制御できます。ユーザーは、整数インデックス (リスト内の位置) に基づいて要素にアクセスし、リスト内の要素を検索できます。セットとは異なり、リストでは通常、要素の重複が許可されます。
Arraylist: オブジェクト配列
Vector: オブジェクト配列
LinkedList: 二重リンク リスト (JDK1.6 以前の循環リンク リスト、JDK1.7 ではサイクルがキャンセルされます)
2. Set
重複した要素を含まないコレクション。より正確には、set には e1.equals(e2) を満たす要素ペア e1 と e2 が含まれず、最大 1 つの null 要素が含まれます。その名前が示すように、このインターフェイスは数学的なセットの抽象化を模倣しています。
HashSet (順序なし、一意): HashMap に基づいて、最下層は HashMap を使用して要素を保存します。
LinkedHashSet: LinkedHashSet は HashSet を継承し、LinkedHashMap を通じて内部的に実装されます。
LinkedHashMap は Hashmap に基づいて内部的に実装されていますが、まだいくつかの違いがあります。
TreeSet (順序付き、一意): 赤黒ツリー (自己バランス型ソート バイナリ ツリー)。
3. Map
キーを値にマップするオブジェクト。マップには重複したキーを含めることはできません。各キーは最大 1 つの値にのみマップできます。
HashMap: JDK1.8 以前の HashMap は配列とリンク リストで構成されており、配列は HashMap の本体であり、リンク リストは主にハッシュの競合を解決するために存在します (競合を解決する「ジッパー メソッド」)。 JDK1.8 以降、ハッシュ競合の解決に大きな変更が加えられ、リンク リストの長さがしきい値 (デフォルトは 8) より大きい場合、リンク リストは検索時間を短縮するために赤黒ツリーに変換されます
LinkedHashMap: LinkedHashMap HashMap から継承されるため、その最下層は依然としてジッパー ハッシュ構造に基づいており、配列とリンク リストまたは赤黒ツリーで構成されます。
さらに、LinkedHashMap は、上記の構造に基づいて二重リンク リストを追加するため、上記の構造はキーと値のペアの挿入順序を維持できます。同時に、アクセス シーケンス関連ロジックは、リンク リスト上で対応する操作を実行することによって実装されます。
ハッシュテーブル: 配列はリンクされたリストで構成されます配列はハッシュマップの本体であり、リンクされたリストは主にハッシュの競合を解決するために存在します。
TreeMap: 赤黒ツリー (自己バランス型ソート バイナリ ツリー)
4. Queue
は、要素のコレクションを保存する前に保存するために使用されます。それらを処理しています。基本的なコレクション操作に加えて、キューは追加の挿入、抽出、および検査操作を提供します。
おすすめの関連記事とチュートリアル: Java 言語の概要
以上がJavaのコンテナとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。