【Javaプログラム入門】初心者向けに「リスト、配列」をわかりやすく解説!

今回は、「リスト、配列」について解説していきます。

この「リスト、配列」もかなりよく使うので、しっかりとマスターしましょう。

「リスト、配列」の学習ポイントを確認しておきましょう。

リスト、配列の学習ポイント
  • 要素
  • インデックス(要素番号)

要素インデックス(要素番号)とは何なのか?
また、「リスト、配列」のプログラム構文、役に立つところなどを見ていきましょう。

それでは、「リスト、配列」について解説していきます。


変数の知識があると「リスト、配列」が理解しやすいです。
変数については、以下の記事で詳しく解説しています。

目次

リスト、配列とは? データの入れ物がたくさん集まったもの!

リストや配列のイメージ

「リスト、配列」が “どのようなものか” を説明します。

まず、リスト 配列 別物です。
構造はよく似ていますが、別物なので注意しましょう!

上記のイメージ図を見ると、

たくさんの箱が一列に並んでいて、それぞれの箱にデータが入っていますね。

これは、リストや配列が、複数のデータを整理して管理することができることを表しています。

言葉として定義しておくと、

リストや配列は、複数のデータを順序を決めて管理する大きな入れ物です。

変数は、プログラムで扱うデータの入れ物のことでした。

リスト配列は、その入れ物が複数あるので、変数の集合体みたいな感じです。

要素 と インデックス(要素番号)

要素とインデックス

先ほど、リストや配列複数のデータを順序を決めて管理する大きな入れ物と説明しました。

この「複数のデータの一個一個のことを要素と言います。

そして、「順序を決めて管理するために各要素には番号が付けられています。

この番号のことをインデックスまたは要素番号と言います。

インデックス(要素番号)は、「0」から始まります。
※「1」からではないので注意しましょう!

リストや配列は、インデックス(要素番号)を目印にして、複数の要素の中から指定の要素を扱うことができます。

リストと配列の違い

ここまで、リストと配列について共通の説明をしてきました。

ただ、リストと配列は別物です。

どこが違うかと言うと、

リストは、要素数を自由に増やしたり、減らしたりすることができます。

それに対して、

配列は、要素数を最初に決める必要があります。
そして、後から要素数を変更することができません。

ちなみに私は、配列 より リスト をよく使いますねー。

リストと配列のプログラム構文

ここからは、プログラムの書き方を見ていきましょう。

リスト

まずは、リストの基本的な使い方とプログラム構文を説明します。

リストの使い方
  • 変数宣言(初期化)
  • 要素の取得
  • 要素の代入
  • 要素の追加
  • 要素の削除

変数宣言(初期化)

【プログラム構文】

① 空(要素数が0)のリストを生成する
  List<データ型> 変数名 = new ArrayList<データ型>();

② リストに初期値を追加する
  List<データ型> 変数名 = new ArrayList<データ型>(){
   {
    add(追加するデータ);
    add(追加するデータ);
    … ※追加したいデータ数分書くことができる
   }
  };

③ リストに初期値を追加する別パターン
  List<データ型> 変数名 = new ArrayListt<データ型>(Arrays.asList(追加するデータ, 追加するデータ, …※));
    ※追加したいデータ数分書くことができる

【サンプルプログラム】

// 変数宣言だけ ※この状態ではインスタンス化されてないので使用できない
List<String> itemList;


// 1. 変数宣言して、空(要素数が0)のリストを生成
List<String> itemList = new ArrayList<String>();

// 2. 変数宣言して、リストに初期値を追加
List<String> itemList = new ArrayList<String>(){
    {
        add("要素1");
        add("要素2");
        add("要素3");
    }
};

// 3. 変数宣言して、リストに初期値を追加する別パターン
List<String> itemList = new ArrayList<String>(Arrays.asList("要素1", "要素2", "要素3"));

要素の取得

【プログラム構文】

変数名.get(インデックス);

【サンプルプログラム】

// 変数宣言して、リストに初期値を追加
List<String> itemList = new ArrayList<String>(Arrays.asList("要素1", "要素2", "要素3"));

// 要素を取得
String item= itemList.get(1);

要素の代入

【プログラム構文】

変数名.set(インデックス, 代入するデータ);

【サンプルプログラム】

// 変数宣言して、リストに初期値を追加
List<String> itemList = new ArrayList<String>(Arrays.asList("要素1", "要素2", "要素3"));

// 要素に代入
itemList.set(1, "代入したい要素2");

要素の追加

【プログラム構文】

変数名.add(追加するデータ);

【サンプルプログラム】

// 変数宣言して、空(要素数が0)のリストを生成
List<String> itemList = new ArrayList<String>();

// 要素を追加
itemList.add("要素1");
itemList.add("要素2");
itemList.add("要素3");

要素の削除

【プログラム構文】

変数名.remove(インデックス);

【サンプルプログラム】

// 変数宣言して、リストに初期値を追加
List<String> itemList = new ArrayList<String>(Arrays.asList("要素1", "要素2", "要素3"));

// 要素を削除
itemList.remove(1);

配列

次に、配列の基本的な使い方とプログラム構文を説明します。

配列の使い方
  • 変数宣言(初期化)
  • 要素の取得
  • 要素の代入

変数宣言(初期化)

【プログラム構文】

① 要素数を指定して配列を生成する
  データ型[] 変数名 = new データ型[要素数];

② 配列に初期値を追加する
  データ型[] 変数名 = {追加するデータ, 追加するデータ, …※};
    ※追加したいデータ数分書くことができる

【サンプルプログラム】

// 変数宣言だけ ※この状態ではインスタンス化されてないので使用できない
String[] items;


// 1. 変数宣言して、要素数が3個の配列を生成
String[] items = new String[3];

// 2. 変数宣言して、配列に初期値を追加
String[] items = {"要素1", "要素2", "要素3"};

要素の取得

【プログラム構文】

変数名[インデックス];

【サンプルプログラム】

// 変数宣言して、配列に初期値を追加
String[] items = {"要素1", "要素2", "要素3"};

// 要素を取得
String item = items[1];

要素の代入

【プログラム構文】

変数名[インデックス] = 代入するデータ;

【サンプルプログラム】

// 変数宣言して、配列に初期値を追加
String[] items = {"要素1", "要素2", "要素3"};

// 要素を代入
items[1] = "代入したい要素2";

以上で、リストと配列の基本的な使い方の説明は終わりです。

リストも配列もよく使うので、繰り返し復習して、ぜひマスターしてください!

まとめ

今回は、リスト配列について解説しました。

リストと配列について簡単にまとめておくと、

・リストや配列は、複数のデータを順序を決めて管理する大きな入れ物
・データを入れる箱の一個一個を要素という
・それぞれの要素には、インデックス(要素番号)がついている
・リストと配列は似ているが、別物
・リストと配列の違いは、
  リストは、要素を自由に追加したり、削除できる
  配列は、あらかじめ要素数を決めておく必要があり、あとから追加や削除ができない

以上の内容となります。

プログラムでは大量のデータを扱います。

その大量のデータを、この変数にはこのデータを持たせて、こっちの変数にはあのデータを…と、頭の中でデータをどこにどうやって保持しているか整理できている必要があります。

大量のデータを一つ一つ変数に格納すると、どの変数に何が入っているのか分からなくなってしまいます。

そんなときに複数のデータをまとめて管理できると、各段にデータを扱うのが楽になります。

リストや配列が使えると、プログラムの幅が広がります。
頑張って使いこなせるようになりましょう!


次のステップ

学習した基礎知識を使ってJavaアプリケーションを作ってみたい方は、以下の記事の演習にぜひチャレンジしてみてください!※きっとよい勉強になります


効率よく最速で学習したい方、転職を強く目指している方は、プログラミングスクールの利用も有効です!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

SE歴16年。
システム開発会社で開発部長をしています。

【主な仕事内容】
 ・Webシステム開発
 ・新入社員育成
 ・社員採用

IT業界が好きで、プログラミングが好きです。
社内の新入社員育成に情熱を注いでいます。

コメント

コメントする

CAPTCHA


目次
閉じる