【2分でわかる!】Javaのコレクションとは?

Javaのコレクションとは
  • このエントリーをはてなブックマークに追加
  • Pocket

コレクションとは要素を集めたオブジェクトだ。それほど難しい概念ではない。

このページではコレクションについて簡単にご説明していこう。

コレクションとは?

コレクションとは、たくさんの要素をひとつのユニットに集めた単なるオブジェクトだ。入れ物を表すコンテナと呼ばれることもある。

コレクションは集められたデータを保存し、検索し、処理し、問い合わせに応える。

よく知られているものとして、メールフォルダー(メールが集められたもの)、電話帳(名前に対する電話番号の紐付け)といった普通によくあるグループを表現している。

メールのコレクション

コレクション(Collection)・インターフェース

Javaではコレクションを扱うためにコレクション(Collection)・インターフェースが定義されている。

コレクション・インターフェースは、枝分かれしたインターフェースの階層構造のルーツにある。

コレクションには、要素の重複を許すコレクションもあれば、許さないものもあったりする。また、順序が付けられたものもあれば、そうでないものもある。

このコレクションの特徴ごとにサブインターフェースが定義されている。次の図は、ルーツにあたるCollectionから枝分かれした主要なサブインターフェースを示している。

ちなみに、Mapもコレクションに似ているがコレクションではない。

collection

JDKは、コレクション・インターフェースを直接実装したクラス提供していない。

そうではなく、SetやListのようなより具体的なサブインターフェースの実装を供給している。

このインターフェースは最も汎用化が必要とされるところで、コレクションを回覧したり操作したりするために使われる。実際のインターフェースの実装は,SetやListなどのサブインターフェースを使って行われている。

以下に,そのサブインターフェースの特徴を示す。

  • Set:重複した要素を含むことができないコレクションだ。数学的な集合の概念モデルを作ったり、生徒の時間割を作るためのコースや機械で動くプロセスの集合を表現したりする。
  • List:順序付けられたコレクションである。重複した要素を含むことができる。ユーザーは要素を挿入する場所やインデックスによって要素にアクセスすることを正確に制御できる。
  • Queue:追加の挿入、抽出、および検査が追加されたコレクション。

処理する前の複数の要素を保持するために使われる。基本的なCollectionオペレーションに加えて,追加の挿入や抽出や検査のオペレーションを供給する。

  • Deque:Queueと同じ機能を持つ。加えて,FIFO(先入先出)やLIFO(後入先出)の両方のために使われる。
  • Map:キーと値を紐付け(マップ)したオブジェクトである。重複したキーを含まない。各々のキーは多くてもひとつの値に紐付けられている。

下記なども参考に。

Set, List, Queue, Dequeへ要素を追加する

このプログラムは、Setインターフェースを実装したHashedSetであれ、他の3つのインターフェース(List, Queue, Deque)であれ、それらのルーツであるCollectionインターフェースを介してaddメソッドで要素が追加されることを示している。

これは、Collectionインターフェースがそれらのルーツにあって最も汎用的だということを示している。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] Setを実装したHashSetクラスのオブジェクトhashSetを作る。
  • [2] Listを実装したArrayListクラスのオブジェクトarrayListを作る。
  • [3] Queueを実装したPriorityQueueクラスのオブジェクトpriorityQueueを作る。
  • [4] Dequeを実装したArrayDequeクラスのオブジェクトarrayDequeを作る。
  • [5] hashSetを引数としてaddメソッドを呼び出す。
  • [6] arrayListを引数としてaddメソッドを呼び出す。
  • [7] priorityQueueを引数としてaddメソッドを呼び出す。
  • [8] hashSetを引数としてaddメソッドを呼び出す。
  • [9]-[10] hashSetの要素をすべて表示する。
  • [11]-[12] arrayListの要素をすべて表示する。
  • [13]-[14] priorityQueueの要素をすべて表示する。
  • [15]-[16] arrayDequeの要素をすべて表示する。
  • [20] addメソッドを定義する。
  • [21] Collectionインターフェースを介して要素「ABC」を追加する。

まとめ

このページではJavaのコレクションについてお伝えしてきた。データの集まりで配列進化系とまずは理解しておくとイメージはしやすいのではないだろうか?

正確なところはこのページを読んでいただければ幸いだ。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する