Javaでarray(配列)を使用する方法~基礎編~
Javaのarrayとは?
Javaにはarrayというものを扱う場合があります。
arrayとは配列を意味しています。配列は複数の同じデータ型の値を、まとめて1つの変数として使用します。配列に格納する値は基本データ、参照型の値を格納することが出来ます。ですが配列自体は参照型のため注意が必要です。
この記事ではJavaのarray(配列)の使用方法などを紹介します。
配列の作成方法
Javaで配列を作成するにはどのデータ型の値を使用するのかを決めて、名前をつけて宣言する必要があります。複数の値を扱うので配列の要素数を指定する必要があります。
配列を作成するための基本構文は以下の通りとなります。
データ型 [] 配列名 = new データ型[要素数];
また、配列の宣言と要素数の指定は分けて記述することもできます。
データ型 [] 配列名;
配列名 = new データ型[要素数];
実際のサンプルコード
int [] array = new int[10];
int [] array;
new int[10];
2つのサンプルコードは同じ処理となっています。
このコードはarrayという名前の10個のデータを扱える配列を作成しています。要素数を10で指定しているため、扱えるデータは10個までとなります。
配列の初期化方法
宣言した配列を使用する前に要素数の指定、値の代入しておくことで、配列の初期化を行うことができます。
配列の初期化の基本構文は以下の通りとなります。
データ型 [] 配列名 = {初期値1,初期値2…,初期値n}
値を{}で囲み値を,で区切ります。
実際のサンプルコード
int [] array ={1,2,3,4};
配列の各要素に代入、参照をする方法
Javaで配列の各要素に代入したり参照を行うにはインデックス番号(添字)を使用します。インデックス番号は0から始まります。ですの要素数で3を指定した場合インデックス番号は0~3となります。
要素数に値を代入するには以下の通りとなります。
配列名[インデックス番号] =値;
実際にサンプルコードを使用して代入と参照する方法を紹介していきます。
class Sample {
public static void main(String[] args){
String [] array = new String[2];//配列の宣言
array[0] = "東京";//要素への代入
array[1] ="名古屋";
System.out.println(array[0]);
System.out.println(array[1]);
//System.out.println(array[2]); //エラー①
int [] array2 = {10,20,30};
array2[2] =50; //インデックス番号[2]の値を変更
System.out.println(array2[0]);
System.out.println(array2[1]);
System.out.println(array2[2]);
int i;
//System.out.println(i);//エラー②
String [] array3 = new String[2];
System.out.println(array3[0]);
}
}
実行結果
東京
名古屋
10
20
50
null
サンプルコードの説明をします。
array[0] = "東京";と記述することで配列の要素に代入することが出来ます。
エラー①はarrayという名前の配列の要素数は2ですが、インデックス番号は0~1ですので、このコードだと要素外にアクセス使用としているため実行時エラーになります。
array2[2] =50;のように代入と同じように記述することで要素の値を変えることが出来ます。
エラー②はiが初期化処理されていないためコンパイルエラーがでます。array3という名前の配列は初期化処理を行っていませんが、配列を生成するとデータ型に合わせて初期化が行われるためエラーは出ません。
多次元配列
Javaでは一次元配列だけでなく多次元配列も作成することが出来ます。
int array[][] = new int[2][2];
このように[]を増やし要素を指定することで、array[0]からarray[1]の各要素に2つの要素をもつ配列が作成されます。
実際のサンプルコード
class Sample {
public static void main(String[] args){
int array[][] = new int[2][2];
array[0][0] = 1;
array[0][1] = 2;
array[1][0] = 3;
array[1][1] = 4;
System.out.println(array[1][1]);
}
}
実行結果
4
参照と代入の仕方は一次元配列で行ったように[]増やしてを行います。
また多次元配列も初期化宣言を行うことが可能です。
サンプルコードのarrayという名前の配列データと同じように初期化するには以下のようにします。
int num[][] = {
{1,2},
{3,4}
};
このようにすることで値を{}で囲んだ後「,」で区切りまた値を{}で囲むことで二次元配列の初期化処理を行うことが出来ます。
要素数がバラバラの配列を要素とする配列を作成
Javaでは要素数がバラバラの配列を作成することができます。
サンプルコード
class Sample {
public static void main(String[] args){
int[][]array = new int[2][];
array[0] = new int[2];
array[1] = new int[3];
array[0][1] = 10;
array[1][2] = 20;
System.out.println(array[1][2]);
}
}
実行結果
20
このサンプルコードはまず要素数が2の配列を作成しており、その各要素に要素数がバラバラの配列を作成しています。その後多次元配列の代入と似たように値を代入し参照を行っています。
要素数がバラバラの配列を要素とする配列も配列の宣言から代入までを一度に行うことができます。
サンプルコード
class Sample {
public static void main(String[] args){
int[][]array = {
{10,20},
{30,40,50},
{60}
};
System.out.println(array[2][0]);
}
}
実行結果
60
まとめ
Javaのarray(配列)について説明しました。
配列はJavaでよく使われるものとなっています。また、配列は一度作成したら、要素数を増やしたり、減らすことは出来ませんが、JavaにはArrayListクラスが用意されており、使用することでサイズを変更できる配列のようなものを作ることができます。