LoginSignup
4
5

More than 5 years have passed since last update.

配列・リスト・マップ

Posted at

 Javaでリストを使わなければならなくなったため、データ構造の復習をする。参考サイトは以下の通り。
Javaを使うなら必ず覚えておきたいデータ構造 -配列・リスト・マップ

1. 配列

1.1 配列の宣言

 配列は複数のデータをまとめて扱うためのデータ構造。配列を利用するためには、生成時に格納するデータ数を宣言する必要がある。後からサイズを変更することは不可能。

データの型[] 配列名 = new データの型[配列の長さ];    //配列の宣言

1.2 配列にデータを格納

 配列にデータを格納する時は、配列名とindex番号を指定する必要がある。int型のnumbersにデータを格納してみる。

int[] numbers = new int[3];
numbers[0] = 5;
numbers[1] = 200;
numbers[2] = 320;

この書き方は面倒くさいので、省略することが可能である。

int[] numbers = {5, 200, 320};

配列に値を代入しない場合は、自動的に値が代入される仕組みとなっている。(int型の場合、0が代入される)

1.3 配列からデータを取得

 配列からデータを取得する時は、格納する時と同様に配列名とindex番号を用いて、取得する。

for(int i = 0; i < numbers.length; i++){
  System.out.println(numbers[i]);
}

2. リスト

 リストも配列と同様に、複数のデータを扱うためのデータ構造である。しかし、配列とは異なり、リストの長さを指定する必要がない。つまり、リストの長さは可変である。リストを扱う際には、ソースファイルの最初にpackageをimportする必要がある。

import java.util.*;

2.1 リストの宣言

 リストを宣言するには、格納するデータの型とリスト名を指定する。

List<データの型> リスト名 = new ArrayList<データの型>();

2.2 リストにデータを格納

 リストにデータを格納する時は、リストが持つaddメソッドを用いる。

リスト名.add(データ);

2.3 リストからデータを取得する

 リストからデータを取得するには、リストが持つgetメソッドにindex番号を指定して、取得する。

リスト名.get(index番号);

2.4 リストのデータを置き換え

 リストのデータを置き換えるためには、リストが持つsetメソッドに、index番号・追加するデータを指定する。

リスト名.set(index番号, 追加するデータ);

2.5 リストに対して、同じ処理を行う

 for文を用いて、リストに対して同じ処理を行う。リストが持つsizeメソッドを用いることで、リストの長さが分かる。

for(int i = 0; i < リスト名.size(); i++){
  //処理内容
  .
  .
}

3. マップ

 マップとは、keyに対応するvalueを格納するデータ構造である。マップへデータを格納する時に、keyへの関連付けを行う。マップからデータを取得する時には、関連付けられたkeyを使用する。リストと同様に、マップを用いる場合は、ソースファイルにpackageをimportする必要がある。

import java.util.*;

3.1 マップの宣言

Map<keyのデータの型, valueのデータの型> マップ名 = 
                     new HashMap<keyのデータの型, valueのデータの型>();

3.2 マップのデータを格納

マップ名.put(key, value);

3.3 マップのデータを取得

マップ名.get(key);

3.4 マップ中のデータに同じ処理をする

 拡張for文を用いて、マップ中のデータに同じ処理を行う。マップが持つkeySetメソッドによって、マップ中のkeyをすべて返す。

for(keyのデータ型 key : マップ名.keySet() ) {
  データ型 data = マップ名.get(key);

  //処理
}

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5