はじめに

プログラミングをしていると、同じようなデータを何個も扱いたい場合があると思います。
しかし、そのデータを格納するために変数を1つ1つ用意していたらキリがありません。
JAVA言語では、複数のデータを扱うことが出来るデータ構造があります。
今回はそんなデータ構造の中で必ずと言っていいほど使われる「配列、リスト、マップ」を紹介します。

配列

配列の特徴は、生成時に配列の大きさ(格納するデータの個数)を決める必要がある事です。
データの定義の仕方は以下のように行います。

データ型[]  変数名  =  new データ型[配列の大きさ]
データ型 変数名[] = {データ,データ,データ}

データ型:intやStringなど、データ型を指定します
配列の大きさ:5個データを格納する配列を定義する場合、[5]のように指定します
データ:変数定義時にデータを格納することもできます。この場合、配列の大きさが自動的に確保されます。

具体的に図を用いて見ていきましょう。

出力結果は以下となりました。

6行目の様に配列を定義した場合も、7行目の様に配列を定義した場合も同じように
「大きさ5の配列(データを5個格納できる配列)」が生成されているのがおわかりでしょうか。
配列の各データにアクセスするには、先頭のデータを0番目として
「array1[0]、array1[1] ‥‥ array1[4]」のように記述します。
先頭のデータの添え字が「0」から始まるので、最後のデータの添え字は
「配列の大きさ - 1」となります(今回の例では「4」)

リスト

リストの特徴は、配列の様に生成時にリストの大きさを決める必要がないことです。

 
List<データ型> 変数名 = new ArrayList<データ型> ();

IntegerやStringなど、クラス名を指定します。
具体的に図を用いて見ていきましょう。

出力結果は以下となりました。

11行目でリストの大きさを出力した場合、まだ何もデータを格納していないため「0」を出力されました。
13~15行目でリストにデータを5件格納しているので、18行目でリストの大きさを出力した場合は、「5」と出力されました。
20~22行目でリストに再びデータを5件格納しているので、24目でリストの大きさを出力した場合は、「10」と出力されました
このようにリストでは、データを追加して格納することが出来ます。

マップ(連想配列)

マップの特徴は、1つのキーに関連付けてデータを格納します。キーが重複することは出来きません。
マップもリスト同様、生成時に大きさを決める必要がありません。

 
Map<データ型(キー)データ型(データ)> 変数名 = new HashMap<データ型(キー)データ型(データ)>();
 

データ型(キー):キーとなるデータ型を指定します。他のキーと重複することは出来ません。
データ型(データ):キーに紐づくデータのデータ型を指定します。

具体的に図を用いて見ていきましょう。

出力結果は以下となりました。

10~13行目でマップにデータを格納しています。
10行目では「1月」という値をキー、それに紐づくデータ「冬」をセットとして格納しています。
同様に11行目~13行目でもキーと、そのキーに紐づくデータをセットとして格納しています。
15~17行目で、キーを指定してマップのデータを出力しています。
キーが存在する場合はちゃんとデータが見つかり出力されていますが、
「2月」や「3月」といったキーは存在しないため「null」と出力されました。

まとめ

いかがでしたでしょうか?
今回は、複数のデータを扱うことが出来るデータ構造「配列、リスト、マップ」について簡単に説明してきました。
今回紹介した使い方は超基本的な事です。
データ型を省略して記述できたり(省略するとObject型となってしまうのであまりおススメはしません)、様々なメソッドがあったりなど使い方は多々あります。
もっと詳しく知りたい方は色々と調べて見るといいでしょう。