Java コレクションはコンテナのようなもので、あらゆる種類のデータを保存できます。 Java では、通常、コレクション クラスは Java.util パッケージに存在します。
(推奨チュートリアル: java 入門チュートリアル )
Java コレクションは主に、コレクション システムとマップ システムという 2 つの主要なシステムで構成されます。このうち、Collection システムと Map システムは、それぞれ 2 つのシステムの最上位インターフェイスです。
Collection には主に、List、Set、Queue という 3 つのサブインターフェイスがあります。
順序付きで繰り返し可能: リスト、キュー
順序なしで繰り返し可能: Set
コレクション インターフェイス
1. リストには順序があり、繰り返し可能
1. ArrayList
利点: 基礎となるデータ構造は配列であるため、クエリは高速ですが、追加と削除は低速です。
欠点: スレッド安全ではありませんが、効率は高いです。
2. Vector
利点: 基礎となるデータ構造は配列であるため、クエリは高速ですが、追加と削除は低速です。
短所: スレッド セーフ、低効率
3. LinkedList
長所: 基礎となるデータ構造は配列であり、クエリは遅く、ブロックの追加と削除が行われます。
欠点: スレッドは安全ではありませんが、効率は高くなります
2. セットは順序付けされておらず、唯一のものです
1.HashSet
基礎となるデータ構造はハッシュですテーブル。 (順序なし、一意)
要素の一意性を保証する方法は?
2 つのメソッドに依存します: hashCode() と equals()
2、LinkedHashSet
基礎となるデータ構造はリンク リストとハッシュ テーブルです。 (FIFO 挿入は順序付けされ、一意です)
Ⅰ. 要素はリンク リストによって順序付けされることが保証されます
II. 要素はハッシュ テーブルによって一意であることが保証されます
3. TreeSet
基礎となるデータ構造は赤黒ツリーです。 (一意、順序付き)
要素の並べ替えを確実に行う方法?
自然な並べ替え、コンパレータによる並べ替え。
要素の一意性を確保するにはどうすればよいですか?
比較の戻り値が 0 であるかどうかに応じて決定します。
(ビデオ チュートリアルの推奨: java コース)
Map インターフェイス
1. Map インターフェイスには 3 つの重要な実装があります。クラスは、HashMap、TreeMap、および HashTable です。
2. 整然とした: ツリーマップ。順序なし: ハッシュマップ、ハッシュテーブル。
3. HashTable と HashMap の主な違い:
Hashtable のメソッドは同期ですが、HashMap のメソッドは同期ではありません。
4. Hashtable はスレッドセーフですが、HashMap はスレッドセーフではありません。
5. HashMap は Hashtable よりも効率的です。
同期や従来のコードとの互換性の要件がない場合は、HashMap を使用することをお勧めします。 Hashtable のソースコードを見ると、コンストラクタを除くすべての public メソッド宣言に synchronized キーワードが含まれていることがわかりますが、HashMap のソース コードにはそのようなものはありません。
6. Hashtable では null 値が許可されませんが、HashMap では null 値が許可されます (キーと値の両方が許可されます)。
7. 異なる親クラス: Hashtable の親クラスは Dictionary で、HashMap の親クラスは AbstractMap です。
以上がCollection インターフェースと Map インターフェースの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。