-インタフェースと実装クラス-インタフェースとクラス構成List系このクラスは、インタフェースとして、Listを実装します。配列のように「何番目の要素か」というインデックス番号で要素にアクセスするタイプです。いくつの要素を格納するかあらかじめ指定する必要はありません。サイズは、要素が増えるにしたがって自動的に拡大されます。List系の代表格で、最もよく利用されるクラスです。挿入や削除を高速に処理できるリスト構造に加えて、キュー構造やスタック構造の基本機能を持つ双方向性リストです。ArrayListと同じ機能ですが、同期をとることができます。その分ArrayListより効率が劣ります。Set系これらのクラスはインタフェースとしてSetを実装します。同じ値の要素を重複して格納することはできません。Set系の代表格です。要素は相互に連結していないので、順序はありません。したがって、何か特定の順序で取り出すことはできません。要素は、相互に連結しており、挿入順で順序がつくSetです。辞書順や数の大小など要素が自然順序で順づけられるSetです。Map系これらのクラスはインタフェースとしてMapを実装します。格納するとき、キーと値をセットにして格納します。高速に検索できるようキー部は、ハッシュ関数で位置を示す特殊な値に変換されます。したがって、後からキーを指定して要素を高速に取り出すことが可能です。Map系の代表格で、よく利用されるクラスです。挿入した順序を保持いるMapです。キーの自然順序づけが行われます。hashMapと同じですが、同期をとることができます。その分、HashMapより効率が劣ります。Queue系これらのクラスはインタフェースとしてQueueを実装します。最初に入力したデータを最初に出力されるものをキューといい、順番待ちの処理などに使用されます。最後に入力したデータが最初に出力されるものをスタックといいます。Queueの代表格は、List系のLinkedListです。自然順序または特に定義した順序により、優先度の高いものを先に出力するキューです。