Java Collection Toolkitはjava.utilパッケージの下にあり、配列、リンクリスト、スタック、キュー、コレクション、ハッシュテーブルなど、一般的に使用されるデータ構造が含まれています。
上記の図からわかるように、コレクションクラスは主にコレクションとマップの2つのカテゴリに分かれています。
コレクションは、リストやセットなどのコレクションの非常に抽象的なインターフェイスです。これらのコレクションの基本的な操作が含まれています。主にリストとセットの2つの部分に分かれています。
リストインターフェイスは通常、リスト(配列、キュー、リンクリスト、スタックなど)を表し、その要素を繰り返すことができます。一般的な実装クラスはArrayListおよびLinkedListであり、一般的に使用されていないベクトルもあります。さらに、LinkedListはキューインターフェイスをまだ実装しているため、キューとしても使用できます。
セットインターフェイスは通常、要素を繰り返すことができないコレクションを表します(ハッシュコードで保証され、関数に等しい)。一般的に使用される実装クラスには、ハッシュセットとツリーセットが含まれます。 HashsetはMAPのHashMapを介して実装され、TreeSetはTreeMapで実装されます。さらに、TreesetはSortedSetインターフェイスも実装するため、順序付けられたセットです(セット内の要素は、比較可能なインターフェイスを実装し、コンポーテル関数を上書きする必要があります)。
Abstract Classes AbstractCollection、AbstractList、Abstractsetは、それぞれコレクション、リスト、およびセットインターフェイスを実装していることがわかります。これは、Javaコレクションフレームワークで使用される多くのアダプター設計パターンです。これらの抽象クラスは、インターフェイスを実装し、抽象クラスのインターフェイスにいくつかのメソッドまたはすべてのメソッドを実装するために使用されます。このようにして、次のクラスの一部は、インターフェイスにすべての抽象的なメソッドを実装することなく、抽象クラスを直接継承し、必要なメソッドを実装する必要があります。
マップはマッピングインターフェイスであり、その中の各要素はキー値のキー値ペアです。同様に、要約クラスの要約マップは、アダプターモードを介してマップインターフェイスのほとんどの関数を実装しています。 Treemap、Hashmap、Weakhashmap、およびその他の実装クラスは、AbstractMapを継承することにより実装されます。さらに、珍しく使用されていないハッシュテーブルはマップインターフェイスを直接実装し、ITとベクトルはJDK1.0で導入されたコレクションクラスです。
イテレータは、コレクションを横断するイテレーターです(マップを通過できず、コレクションを横断するためだけに使用されます)。コレクションの実装クラスは、Iterator()関数を実装します。この関数は、Iteratorオブジェクトをコレクションをトラバースするように戻し、ListIteratorはリストを通過するために特別に使用されます。列挙はJDK 1.0で導入され、Iteratorと同じ関数を持っていますが、その機能はIteratorよりも少なく、Hashtable、Vector、Stackでのみ使用できます。
配列とコレクションは、配列とコレクションの操作に使用される2つのツールクラスです。たとえば、arrays.copyof()メソッドは、ArrayListおよびVectorで大量に呼び出されます。コレクションには、各コレクションクラスの同期バージョン、つまりスレッドセーフバージョンを返すことができる多くの静的メソッドがあります。もちろん、スレッドセーフの組み合わせクラスを使用する場合は、同時コンカレントパッケージの下の対応するコレクションクラスが推奨されます。
Javaコレクションのソースコードの上記の包括的な分析は、エディターが共有するすべてのコンテンツです。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。