Javaのコレクションとは、オブジェクトの集合を効率よく扱うための仕組みです。コレクションと似たような仕組みに配列がありますが、配列は予めオブジェクトを格納するスペースを確保しておく必要があったり、要素数を動的に変動させることができなかったりと、少々使い勝手の悪い性質をもちます。そこでもっと柔軟にオブジェクトの集合を扱えるように考案されたのが「コレクション・フレームワーク」と呼ばれるものです。
コレクションは配列でできなかったサイズの動的確保ができるほか、用途に合わせたクラスやインタフェースが予め用意されているため、ユーザは用途に合わせてコレクションのタイプを使い分けることで、柔軟にかつ効率的にオブジェクトの集合を扱うことができます。
コレクションには以下の基本的なインタフェースと、各インタフェースに機能を実装したいくつかのクラスが定義されています。
●インタフェース
インタフェース | 説明 |
java.util.List |
順序付きリストのインタフェース |
java.util.Map |
キーと値のペアを表す構造のインタフェース |
java.util.Set |
重複を許さない集合のインタフェース |
●クラス
クラス | 説明 | 特徴 |
要素の重複 | Null挿入 | 並び順 | 自動ソート |
java.util.ArrayList |
配列を用いたjava.util.Listの実装クラス |
可 |
可 |
保持 |
なし |
java.util.LinkedList |
リンクリストを用いたjava.util.Listの実装クラス |
可
|
可 |
保持 |
なし |
java.util.HashMap |
ハッシュを用いたjava.util.Mapの実装クラス |
不可 |
可 |
保持しない |
なし |
java.util.TreeMap |
二分探索木を用いたjava.util.Mapの実装クラス |
不可 |
不可 |
保持 |
あり |
java.util.HashSet |
ハッシュを用いたjava.util.Setの実装クラス |
不可 |
可 |
保持しない |
なし |
java.util.TreeSet |
二分探索木を用いたjava.util.Setの実装クラス |
不可 |
不可 |
保持 |
あり |
各クラスの基本的な使用方法はこちらを参照下さい。
なお、配列に関しては、こちらを参照下さい。