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

王林
リリース: 2020-08-14 16:54:02
転載
2510 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!