検索
ホームページJava&#&ベースJavaコレクションとは何ですか

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

Nov 14, 2019 am 10:10 AM
javalistset集める

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。