コンテナ (データ型)
コンピュータプログラミングにおいて、コンテナ(英: container)とはオブジェクトの集まりを表現するデータ構造、抽象データ型またはクラスの総称である。コレクション(英: collection)とも言う。コンテナには複数の種類があり、それぞれ独自の方法でオブジェクトを組織的に格納する。 よく知られたものには、 などがある。 同じ分類のコンテナであっても、実装形態の違いから、各種操作の計算量(計算時間)やメモリ上に占める空間的特性などが異なるものがある。例えばリストには主に動的配列によるリストと連結リストがあり、それぞれ場面によって向き不向きがある。 コンテナクラスは一般的に以下のような操作を実装している。
ジェネリックプログラミングをサポートする言語や、動的型付け言語では、一般的にコンテナの要素にはどのようなデータ型のオブジェクトも取ることができるが、言語によっては要素の型が満たすべき要件が制約として課されていることもある[1]。この要件を満たせば、他のコンテナ型を要素に取るコンテナを定義することもできる。またコンテナのサイズは要素数に合わせて自動的に変化する。 コンテナがオブジェクトを格納する方法には2種類ある。値によるものと参照によるものである。
Javaのコレクション・フレームワークやC++のSTLなどで、多くの汎用コンテナが実装されている。なお、Javaの場合はジェネリクスは型消去によって実現されている[2]ことから、型パラメータに 脚注関連項目 |
Portal di Ensiklopedia Dunia