JavaA2Z

KAB-studio > プログラミング > JavaA2Z > コレクションフレームワークとは

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

日本語 収拾枠組
英語 collections framework
ふりがな これくしょんふれーむわーく
フリガナ コレクションフレームワーク

解説

いわゆる「コレクション」のこと。
Collectionインターフェイス、そのサブインターフェイスであるListインターフェイスとSetインターフェイス、それに加えたMapインターフェイスを「フレームワーク」とし、そのサブクラスとしてArrayListクラスHashMapクラス等を含めて「コレクションフレームワーク」と言う。
 
ただし、普通の「フレームワーク」とは少し異なる。
通常、フレームワークはその名の通り「枠組」のみを提供し、使用する実装クラスの一部をプログラマーが作成することになる。
だが、コレクションフレームワークはひとそろいのクラスがすでに揃っているため、さらにクラスを追加することは少ない。
また、基本となるインターフェイスが同じでも、実装クラスの機能に大きな差があるため、インターフェイスを元にポリモーフィズムうのは危険な面もある。
あるとしたら、Arraysクラスのsort()メソッドに使用するComparatorインターフェイス実装クラスや、Comparableインターフェイス実装クラスとして要素となるクラスを作成する、といった所だろう。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.util.Collection;
import java.util.ArrayList;
import java.util.LinkedList;

public class Sample
{
    public static void main( String[] args )
    {
        // ArrayListクラスを作成して、要素を追加させます。
        ArrayList arrayList = new ArrayList();
        addOneInteger( arrayList, 100 );
        System.out.println( arrayList.get( 0 ) );
        // 100

        // LinkedListクラスを作成して、要素を追加させます。
        LinkedList linkedList = new LinkedList();
        addOneInteger( linkedList, 200 );
        System.out.println( linkedList.get( 0 ) );
        // 200

        // このように、共通使用できるのがフレームワークな点……かな?
    }

    // 要素をひとつ追加します。
    public static void addOneInteger( Collection collection, int i )
    {
        // Collectionインターフェイスの実装クラスなら、どのクラスでも
        // 要素を追加できます。
        collection.add( new Integer( i ) );
    }
}
// Sample.java
import java.util.Collection;
import java.util.ArrayList;
import java.util.LinkedList;

public class Sample
{
    public static void main( String[] args )
    {
        // ArrayListクラスを作成して、要素を追加させます。
        ArrayList arrayList = new ArrayList();
        addOneInteger( arrayList, 100 );
        System.out.println( arrayList.get( 0 ) );
        // 100

        // LinkedListクラスを作成して、要素を追加させます。
        LinkedList linkedList = new LinkedList();
        addOneInteger( linkedList, 200 );
        System.out.println( linkedList.get( 0 ) );
        // 200

        // このように、共通使用できるのがフレームワークな点……かな?
    }

    // 要素をひとつ追加します。
    public static void addOneInteger( Collection collection, int i )
    {
        // Collectionインターフェイスの実装クラスなら、どのクラスでも
        // 要素を追加できます。
        collection.add( new Integer( i ) );
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/10/13
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。