【Java入門】配列とは?基本から書き方まとめ

2021年12月30日

シン

フリーランスエンジニア【経歴】新卒で配送業▶︎販売員▶︎プログラミングスクール卒業▶︎会社員プログラマー1.5年▶︎独立|保有資格:Oracle認定Java Silver|サイトのテーマ:市場価値の高いITエンジニアを輩出する|大阪在住29歳

本記事の内容

  • Javaの配列とは
  • 配列の書き方
  • 配列で覚えておきたいこと

プログラミング言語のJavaはWebアプリケーションの開発やAndroidアプリ開発など、幅広く扱われている大人気言語です。そんな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の配列について解説してきました。配列は複数の値を一つの変数にまとめることができます。配列は実務でもよく使われますので、しっかり基本を押さえておきましょう。

今回は以上です。