1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

JAVA入門 複数のデータを扱ってみよう(配列、リスト、マップ)

Pocket

はじめに

プログラミングをしていると、同じようなデータを何個も扱いたい場合があると思います。
しかし、そのデータを格納するために変数を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型となってしまうのであまりおススメはしません)、様々なメソッドがあったりなど使い方は多々あります。

もっと詳しく知りたい方は色々と調べて見るといいでしょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾
ページ上部へ戻る