ホームページ > Java > &#&チュートリアル > Java コレクション フレームワーク

Java コレクション フレームワーク

WBOY
リリース: 2024-08-30 15:47:29
オリジナル
499 人が閲覧しました

Java コレクション フレームワークは Java プラットフォームに含まれており、古典的な Vector クラス、配列リスト、ハッシュ マップ、ハッシュ セット、さらには他のコレクション フレームワークなどのオブジェクトのグループを表現したもので、実装の詳細に関係なく、コレクションの変更を可能にするコレクションの記述と操作。オブジェクトのコレクションを保存および操作するためのアーキテクチャを提供します。オブジェクトのコレクションが 1 つであっても、検索、並べ替え、挿入、操作、削除などのあらゆるデータ操作を実行できます。 Java ではオブジェクトの単位をコレクションと呼びます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java コレクション フレームワークとは何ですか?

すべてのプログラミング言語はコレクションを使用し、さまざまな要素と組み合わせて 1 つのエンティティにすることができるデータ項目を返します。主に、コレクション フレームワークが使用される前は、さまざまな種類のコレクションで機能するアルゴリズムを開発するためにプログラマーと理解し構築することが困難でした。場合によっては、特定の条件で他のフレームワークが呼び出され、使用されることがあります。 Vector、Stack、Hash table、Array などの一部の Collection クラスは Java に含まれていましたが、それを実現するにはすべていくつかの欠点がありました。

Java Collections Framework コンポーネント

主要なインターフェイスのサポートにより、コレクション フレームワークは理解しやすくなります。これらのインターフェイスが実装され、コレクション クラスが具体的な機能を提供します。データを収集するためのインターフェイスは階層の最上位にあります。 Collection インターフェイスは、すべてのコレクション クラスが提供する必要があるすべての汎用メソッドを提供します。これを提供しないと、「UnsupportedOperationException」などのエラーがスローされます。 Iterable インターフェイスに「for-each ループ」ステートメントを使用して、オーバーコレクション要素を反復処理するための機能が追加されます。クラスは、Map インターフェイスと他のすべてのコレクション インターフェイスを除き、このインターフェイスを実装するために拡張されます。このコレクションは、List (インデックス付き、順序付き) インターフェイスと Set (並べ替え済み) インターフェイス、および Map(key, value) ペアによって実装されます。

インターフェース

これは、コレクションを表すデータ型で抽象化できる 1 つのコレクション コンポーネントです。これを使用する java.util.Collection のフレームワークのルート インターフェイスは、add()、remove()、size() などのいくつかのデフォルト メソッドを使用して、フレームワークの重要なクラスをインポートします。主に、Map、Set、と Deque はすべて util パッケージに含まれます。

実装クラス

フレームワーク ライブラリは、コレクション実装クラスを提供します。 Java プログラムは、コレクション パッケージの親クラスとルート クラスに基づいて、さまざまな種類のコレクションを作成するためにそれらを利用します。これには、ArrayList、HashMap、TreeMap、LinkedList、Double-LinkedList などのいくつかのタイプが含まれます。

アルゴリズム:

このセクションでは、リストやその他のデータ構造の並べ替えなどのタスクに関連するいくつかの重要な収集を実行します。これには、ユーザー側からのデータ操作の実行も含まれます。

Java コレクション フレームワーク インターフェイス

コレクション フレームワークには、さまざまなコレクション タイプの基本的な性質を定義するための多数のインターフェイスとその機能が含まれています。 Collection、Set、List、Map、Queue、Dequeue、SortedMap などと同様です。これらのインターフェイスは、コレクション フレームワークによって提供されるある種の階層で使用および実装されます。主に、コレクションはこの階層の親ルートです。 List インターフェイスを使用すると、要素のデータ シーケンスの順序が維持されます。一意性は必要ありません。一意性が得られると、セットに移動し、重複を受け入れなくなります。キューは、ユーザー データを異なる順序で保持する別のインターフェイスです。 Deque インターフェイスを使用して、データ操作を実行します。マップ インターフェイスは、要素を格納および取得するためのキーと値のペアの両方として参照されるオブジェクトを表します。

Java コレクション フレームワーク アーキテクチャ

Java コレクション フレームワーク

上の図は、コレクション フレームワークの基本的なアーキテクチャと階層フローです。 Map Interface は、デフォルトのクラスとともに分離され、呼び出され、使用されます。 Collection インターフェイスが他のすべてのインターフェイスとクラスのルート ノードであることがわかっています。オブジェクトは他のすべてのインターフェイスとクラスのベースであり親であるため、ここではその役割を果たしていますが。一部のコレクション インターフェイスは固定サイズを使用するため、実行時に動的に増加しません。また、メモリ管理も計算します。

イテレータを使用する

一般に、「イテレーター」はインターフェースの 1 つであり、ループ条件を使用してデータを反復するための収集フレームワークの主要部分です。
また、必要がない場合は、データ要素を保存、取得、削除するためにコレクションをナビゲートするためにも使用されます。パブリック インターフェイスは util パッケージを呼び出してインポートされ、プログラマはそのデフォルト メソッドにアクセスします。 hasNext()、next()、remove() などの一部のメソッドは、異なるデータ型を持つ 3 つの異なるメソッドです。 hasNext() はブール条件のみを返し、 next() メソッドはオブジェクト値のみを返し、remove( ) このメソッドは void を返します。これには、前方と後方の両方の方向にデータを走査するための ListIterator のような型があります。

コンパレータを使用する

異なるクラスのインスタンスは、コンパレータ インターフェイスを使用して比較できます。
一般に、クラスはオブジェクトの自然な順序付けを必要とするため、Comparable Interface を使用して実装します。
Comparator を使用して、デフォルトの順序付け動作をオーバーライドする、外部から構成可能な順序付け動作を設計します。コンパレータ インターフェイスは、ユーザー定義クラスのオブジェクトを並べ替えるためにも使用されます。

コンパレータ セットを使用して比較し、同じセットの要素を特定の順序で並べ替えるために使用される TreeSet インターフェイスの戻り値が、このメソッドによって返されます。セットがデフォルトまたは自然な順序パターンに従っている場合、Null 値が返されます。

結論

Java コレクション フレームワークは、事前にパッケージ化されたデータ構造と操作メソッドへのアクセスを提供します。コレクションは、他のものへの参照を保存することで他のものを追跡できるオブジェクトのタイプです。コレクションの各タイプで実行できる操作は、コレクション インターフェイスによって定義されます。

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

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