こんにちは?ジェイオンです。
今日は、JCFの定義と特徴について見ていきましょう。
JCFとは?
JCFはJava Collections Frameworkの略で、多数のデータを簡単かつ効果的に処理できる標準化された方法を提供するクラスの集合を意味します。つまり、データを保存するデータ構造とデータを処理するアルゴリズムを構造化して、クラスとして実装したものです。ここで、Collectionsはデータの集合またはグループと考えてください。
Framework vs Library
フレームワークは、ソフトウェアの特定の問題を解決するために、相互に協力するクラスとインターフェースの集合'と考えることができ、完成したアプリケーションではなく、プログラマーが完成させる作業を行う必要があります。一方、ライブラリは、単に利用可能なツールの集合を指します。
この2つの違いをもう少し詳しく説明すると、フレームワークは全体的な流れを自分自身で握っており、ユーザーはその中で必要なコードを書き込むのに対し、ライブラリはユーザーが全体的な流れを作成し、ライブラリを持ってきて使うと言えます。
JCFの導入背景
JCFが導入される以前、Javaオブジェクトをグループ化(Collection)する標準化された方法は、Arrays、Vectors、Hashtablesであり、これらのCollectionには共通のインターフェースが存在しませんでした。そのため、これらのCollectionの使用目的が同じであっても、それぞれ別に定義する必要がありました。そして、それぞれのCollectionで使用するメソッド、構文、コンストラクターが異なっていたため、開発者がこれらを使用する際に混乱しやすいものでした。
上記のコードのように、単に要素を挿入して、要素を見つけて出力するという目的は同じですが、それぞれ使用する構文が異なります。例えば、要素を挿入する場合、ベクトルはaddElement()で、Hashtableはput()です。
そのため、Java開発者はこれらの問題を解決するために共通のインターフェースを設計し、それが今回紹介するJava Collections Frameworkです。ちなみに、JCFが登場したことで、VectorとHashtablsはレガシークラスとなり、今日ではもはや使用されていません。
JCFのメリット
(1)コードの再利用が容易です。
(2)データ構造とアルゴリズムの高性能実装を提供し、プログラムのパフォーマンスと品質を向上させます。
(3)関連のないAPI間の相互運用性を提供します。
(4)新しいAPIを学習および設計する時間が短縮されます。
(5)ソフトウェアの再利用を促進します。これは、JCFを使用する新しいデータ構造が再利用可能であるためです。同じ理由で、JCFを使用するオブジェクトを活用して、新しいアルゴリズムを作成できます。
まとめ
これまで、JCFの意味と、なぜ導入されたのか、どのようなメリットがあるのかについて見てきました。
次回は、JCFの階層構造について取り上げていきます。
コメント0