ホームページ  >  記事  >  Java  >  Collection インターフェースと Map インターフェースの概要

Collection インターフェースと Map インターフェースの概要

王林
王林転載
2020-08-14 16:54:022515ブラウズ

Collection インターフェースと Map インターフェースの概要

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 サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。