Javaの配列とは?書き方・基本をわかりやすく解説

Javaの配列とは何ですか?いつ使うのだろう?意味や書き方を教えて欲しい。
こんなお悩みにお答えします。
本記事で解説する「Javaの配列の意味や書き方」を読めば、配列の基本や具体的な書き方について知ることができ、Javaエンジニアとしてスキルアップできますよ。

僕は現役エンジニアで、主に業務でJavaを扱っています。Javaの資格も保有していますので、それらの知見をもとに丁寧に解説しますね。
配列はJavaの現場ではよく使われます。ぜひ最後までご覧いただき、配列の使い方を習得してみてください。

Javaの配列の基本概要
最初にJavaの配列の基本を押さえていきましょう。
- 配列とは
- 配列のメリットデメリット
配列とは
配列とは、同じ型の複数の値を1つの変数として扱えるものです。
たとえば、果物が「りんご、オレンジ、パイナップル」などと複数ある場合、1つずつ変数を用意しなければなりません。配列ならこれらを1つの変数にまとめられます。
配列は格納された値が順番に並べられており、それぞれの値にインデックスと呼ばれている番号が割り振られています。
配列のメリット
配列を使うメリットは、記述を大幅に減らせるところです。
複数の同じ型の値を格納したい場合に、配列を使わず記述すると、以下のように記述します。
public class Sample {
public static void main(String[] args) {
String fruits01 = "おれんじ";
String fruits02 = "みかん";
String fruits03 = "りんご";
String fruits04 = "バナナ";
String fruits05 = "なし";
String fruits06 = "マンゴー";
}
}
上記は変数がたくさんあって冗長ですよね。そこで配列の出番です。
public class Sample {
public static void main(String[] args) {
String[] fruits = {"おれんじ","みかん","りんご","バナナ","なし","マンゴー"};
}
}
このように、配列を使えば1行にまとめられます。
Javaの配列の書き方
実際に配列の書き方について解説していきます。
- 配列の宣言方法
- 配列への代入方法
- 配列の値を取り出す方法
- 配列宣言と同時に値を代入
STEP①:配列の宣言方法
配列の宣言は下記のようにします。
型名[] 配列変数名;
配列はあらかじめ要素の数を指定できます。書き方は以下の通り。
型名 配列変数名[] = new 型名[要素数];
上記を踏まえた上で、実際に書いてみます。たとえばint型の値を4つ格納する場合は以下のように書きます。
int num[] = new int[4];
STEP②:配列への値の代入方法
配列へ値を代入するには以下のように書きます。
配列変数名[インデックス] = 値;
ちなみにインデックスは何かというと、配列の要素の番号を指しています。
たとえば、インデックスが0なら1番目の要素を指しています。配列の番号は0から数えられるからです。
- インデックス0:1番目の値
- インデックス1:2番目の値
- インデックス2:3番目の値
上記の通りです。間違いやすいので、ぜひ覚えてみてください。
STEP③:配列の宣言と同時に値を代入する方法
配列の宣言と同時に値を代入できます。書き方は以下の通り。
型名 配列名 = {値1, 値2, 値3.値4, 値5};
実際には以下のように記述します。
int num[] = {10, 35, 50 ,130, 40};
STEP④:配列の値を取り出す方法
では値の代入方法と値を取り出す方法を、実際のサンプルコードを使ってみていきましょう。
class Test1{
public static void main(String args[]){
int num[] = new int[3];
num[0] = 0;
num[1] = 1;
num[2] = 2;
System.out.println(num[0]);
System.out.println(num[1]);
System.out.println(num[2]);
}
}
上記のコードを解説しますと、最初に要素数が3の配列を作成し、次に作成した配列変数numに0から2の値を代入します。
そしてnum[0]、つまりnumのインデックス0(1番目の値:0)、インデックス1(2番目の値:1)、インデックス2(3番目の値:2)を出力します。
出力結果:
0
1
2
Javaの配列で絶対に覚えておきたいこと
配列を操作する方法も覚えておきましょう。
- 配列の要素数を取得する:length
- 特定の値が含まれているか確認する:containsメソッド
- 配列をListに変換する:asListメソッド
- 配列の順番を並び替える:sortメソッド
- 要素をコピーする:cloneメソッド
配列の要素数を取得する:length
配列の要素の数を取得する方法です。lengthを使うことで、配列の要素数がわかります。
class Sample{
public static void main(String args[]){
int num[] = {0,1,2,3};
System.out.println("numは" + num.length + "個あるよ");
}
}
出力結果:
numは4個あるよ
特定の値が含まれているか確認する:containsメソッド
特定の値が含まれているかを確認する方法があります。
arraysクラスのcontainsメソッドを使えばOKです。
import java.util.Arrays;
public class Sample {
public static void main(String[] args) {
Integer num[] = {10, 20, 30, 40, 50};
// 配列に50が含まれているかどうかを確認する
if(Arrays.asList(num).contains(50)) {
System.out.println("値が存在する");
}
}
}
containsメソッドを使うには、Arraysクラスをインポートします。
出力結果:
System.out.println("値が存在する");
配列をListに変換する:asListメソッド
asListとは、引数で指定した配列をListとして返すメソッドです。
通常の配列は固定長といって要素数が固定されており、基本的に後から要素を追加ができません。
Listは、可変長といって要素を後から追加したり削除したりできます。
asListメソッドを使えば、通常の配列をListに変換できますよ。
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class Sample {
public static void main(String[] args) throws Exception {
// 配列を作成する
String[] array1 = {"大阪", "東京", "愛知", "福岡"};
// 配列をリストに変換する
List<String> listA = new ArrayList<String>(Arrays.asList(array1));
listA.add("沖縄");
//リストの内容を表示する
System.out.println(listA);
}
}
addメソッドを使えば要素を追加できます。
出力結果:
[大阪, 東京, 愛知, 福岡, 沖縄]
配列の順番を並び替える:sortメソッド
配列の順番を並び替えるには、sortメソッドを使用します。
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class Sample {
public static void main(String[] args) throws Exception {
int[] src = {15, 25, 5, 35, 40, 75};
System.out.println(Arrays.toString(src));
Arrays.sort(src);
for (int f = 0, l = src.length - 1; f < l; f++, l--){
int temp = src[f];
src[f] = src[l];
src[l] = temp;
}
System.out.println(Arrays.toString(src));
}
}
出力結果:
[15, 25, 5, 35, 40, 75]
[75, 40, 35, 25, 15, 5]
要素をコピーする:cloneメソッド
cloneメソッドを使えば、配列を複製できます。
import java.util.Arrays;
public class Sample {
public static void main(String[] args) {
int[] num = new int[5]; // 元の配列
for(int i = 0; i < num.length; i++) {
num[i] = i + 1;
}
int[] numc = num.clone();
System.out.println(Arrays.toString(num));
System.out.println(Arrays.toString(numc));
}
}
Javaの配列の書き方:まとめ
Javaの配列について解説しました。
配列は複数の値を一つの変数にまとめられます。
配列は実務でもよく使われますので、しっかり基本を押さえておきましょう。
以下では、Javaエンジニアの学習ロードマップをまとめていますので、ぜひ参考にしてみてください。
