Javaコレクションとは何ですか

angryTom
リリース: 2019-11-14 10:10:40
オリジナル
3419 人が閲覧しました

Javaコレクションとは何ですか

Java コレクションとは何ですか?

Java API で使用されるコレクション クラスはすべて、Collection インターフェイスを実装します。クラスの継承構造は次のとおりです。

Collection

Collection

Collection

コレクション

コレクション

コレクション

Javaコレクションとは何ですか

#Vector

1) 基礎となるデータ構造は配列であり、クエリは高速ですが、追加と削除は低速です。

2)スレッド セーフで効率が低い

## Array に基づく #List は、Array が使用できないいくつかの関数を実際にカプセル化します。Array の制限に陥ることはありません。パフォーマンスで Array を超えることは不可能です。したがって、可能であれば、配列をもっと使用する必要があります。もう 1 つの非常に重要な点は、Vector が「同期」されているということです。これが、Vector と ArrayList の唯一の違いでもあります。

ArrayList

1) 基礎となるデータ構造は配列であり、検索は高速ですが、追加と削除は低速です。

2). スレッド安全性と高効率

Vector と同様に Array ベースのリンク リストですが、ArrayList が同期していない点が異なります。そのため、性能面ではVectorよりも優れていますが、マルチスレッド環境で実行する場合はスレッドの同期を自分で管理する必要があります。


LinkedList

1) 基礎となるデータ構造はリンク リストであり、クエリには時間がかかりますが、追加と削除は高速です

2) スレッド非安全かつ高効率

LinkedList は、配列に基づいていないため、配列のパフォーマンスによって制限されないという点で、前の 2 つのリストとは異なります。各ノード (Node) には、コンテンツの 2 つの側面が含まれています:

1. ノード自体のデータ (data)、

2. 次のノードの情報 (nextNode)。したがって、LinkedList にアクションを追加および削除するときに、配列ベースのリストのように大量のデータを移動する必要はありません。 nextNodeの関連情報を変更するだけで実現できます。これが LinkedList の利点です。

ハッシュセット コレクション:

1) 基礎となるデータ構造はハッシュ テーブルであり、hascode () メソッドと equals () メソッドの 2 つのメソッドに依存します

2) 2 つのメソッドの実行シーケンス:

最初に hascode() の値が同じかどうかを確認します

はい: 引き続き、equals() メソッドを実行し、その戻り値を確認します。 value

Yes true: 要素が繰り返されることを意味し、

は追加されません False: 要素を直接追加するだけです

No: コレクションに直接追加するだけです

ツリーセット コレクション:

1) 基礎となるデータ構造はバイナリ ツリーです

概要:

1. すべてのリストは、Key-Value のキーと値のペアではなく、異なるタイプのオブジェクトで構成される単一のテーブルのみを保持できます。例: [tom,1,c];

2.すべてのリストに同じ要素を含めることができます。たとえば、ベクトルには [tom,koo,too,koo];

3 を含めることができます。すべてのリストには、[tom,null,1];

4 などの null 要素を含めることができます。配列ベースのリスト (Vector、ArrayList) はクエリに適しており、LinkedList (リンク リスト) は追加に適しています。そして削除操作。

HashSet: Set と List はどちらも Collection インターフェイスを実装していますが、実装方法はまったく異なります。リストは基本的に配列に基づいています。ただし、Set は HashMap に基づいて実装されており、これが Set と List の根本的な違いです。 HashSet の格納方法は、HashMap の Key を Set の対応する格納項目として使用します。

php 中国語 Web サイト、無料の

Java 入門チュートリアル

が多数あり、オンラインで学習することを歓迎します。

以上がJavaコレクションとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!