検索
ホームページJava&#&はじめるJavaのコンテナとはどういう意味ですか?

Javaのコンテナとはどういう意味ですか?

#1. コンテナとは何ですか

Java には、コンテナのオブジェクトを格納するために特別に使用されるクラスがあります。他のクラスと同様に、このクラスはコンテナと呼ばれ、同じまたは類似のプロパティを持つ複数のクラス オブジェクトを組み合わせて形成される全体です。

いくつかの一般的なコンテナの紹介:

推奨される Java 学習ビデオ チュートリアル: Java 教育ビデオ

1. List

順序付けられたコレクション (シーケンスとも呼ばれます)。このインターフェイスのユーザーは、リスト内の各要素が挿入される場所を正確に制御できます。ユーザーは、整数インデックス (リスト内の位置) に基づいて要素にアクセスし、リスト内の要素を検索できます。セットとは異なり、リストでは通常、要素の重複が許可されます。

Arraylist: オブジェクト配列

Vector: オブジェクト配列

LinkedList: 二重リンク リスト (JDK1.6 以前の循環リンク リスト、JDK1.7 ではサイクルがキャンセルされます)

2. Set

重複した要素を含まないコレクション。より正確には、set には e1.equals(e2) を満たす要素ペア e1 と e2 が含まれず、最大 1 つの null 要素が含まれます。その名前が示すように、このインターフェイスは数学的なセットの抽象化を模倣しています。

HashSet (順序なし、一意): HashMap に基づいて、最下層は HashMap を使用して要素を保存します。

LinkedHashSet: LinkedHashSet は HashSet を継承し、LinkedHashMap を通じて内部的に実装されます。

LinkedHashMap は Hashmap に基づいて内部的に実装されていますが、まだいくつかの違いがあります。

TreeSet (順序付き、一意): 赤黒ツリー (自己バランス型ソート バイナリ ツリー)。

3. Map

キーを値にマップするオブジェクト。マップには重複したキーを含めることはできません。各キーは最大 1 つの値にのみマップできます。

HashMap: JDK1.8 以前の HashMap は配列とリンク リストで構成されており、配列は HashMap の本体であり、リンク リストは主にハッシュの競合を解決するために存在します (競合を解決する「ジッパー メソッド」)。 JDK1.8 以降、ハッシュ競合の解決に大きな変更が加えられ、リンク リストの長さがしきい値 (デフォルトは 8) より大きい場合、リンク リストは検索時間を短縮するために赤黒ツリーに変換されます

LinkedHashMap: LinkedHashMap HashMap から継承されるため、その最下層は依然としてジッパー ハッシュ構造に基づいており、配列とリンク リストまたは赤黒ツリーで構成されます。

さらに、LinkedHashMap は、上記の構造に基づいて二重リンク リストを追加するため、上記の構造はキーと値のペアの挿入順序を維持できます。同時に、アクセス シーケンス関連ロジックは、リンク リスト上で対応する操作を実行することによって実装されます。

ハッシュテーブル: 配列はリンクされたリストで構成されます配列はハッシュマップの本体であり、リンクされたリストは主にハッシュの競合を解決するために存在します。

TreeMap: 赤黒ツリー (自己バランス型ソート バイナリ ツリー)

4. Queue

は、要素のコレクションを保存する前に保存するために使用されます。それらを処理しています。基本的なコレクション操作に加えて、キューは追加の挿入、抽出、および検査操作を提供します。

おすすめの関連記事とチュートリアル: Java 言語の概要

以上がJavaのコンテナとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

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

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

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール