オーダーメイドコース
icon
icon

Javaで配列同士の要素を比較する方法【初心者向け】

初心者向けにJavaで配列同士の要素を比較する方法について解説しています。ここではArrays.equalsメソッドを使って配列の中身を比較します。サンプルを見ながら実際に書いて覚えていきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Javaで配列同士の要素を比較する方法について解説します。

実際にプログラムを書いて説明しているので、ぜひ理解しておきましょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

配列同士の要素を比較する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

配列同士の要素を比較する方法(Arrays.equalsメソッドなど)

Javaで配列同士の要素を比較する主な方法として、次のものがあります。

配列同士が等しいか比較する

java.util.Arraysの「equals( )」メソッドを使います。

それぞれの配列型に応じた引数を持つメソッドがオーバーロードされています。

戻り値はboolean型です。

Arrays.equals(a, a2)

ただし、このメソッドはネストした配列には対応できません。

ネストした配列が等しいか比較する場合は、代わりに「deepEquals( )」メソッドを使いましょう。こちらも戻り値はboolean型です。

Arrays.deepEquals(a1, a2)

また、Java9で新たに、戻り値がint型のメソッド「compare( )」が追加されました。こちらは戻り値で比較結果(どちらが大きいか)まで分かるようになっています。

Arrays.compare(a1, a2)

 

実際に書いてみよう

さきほど紹介したメソッドを使って、配列を比較するプログラムを書いてみましょう。

import java.util.Arrays;

public class ArrayCompare {

    public static void main(String[] args) {
        int[] a1 = {1, 3, 7};
        int[] a2 = {1, 3, 7};

        System.out.println(Arrays.equals(a1, a2));
        System.out.println(Arrays.compare(a1, a2));

        Object[] oa1 = new Object[]{
                new int[]{ 1, 3, 5},
                new int[]{ 1, 3, 5},
        };
		Object[] oa2 = new Object[]{
                new int[]{ 1, 3, 5},
                new int[]{ 1, 3, 5},
        };

        System.out.println(Arrays.equals(oa1, oa2));
        System.out.println(Arrays.deepEquals(oa1, oa2));
	}
}

 

[PR] 未経験からWebエンジニアを目指す方法とは

監修してくれたメンター

青柳哲夫

独立系SIerやベンチャーを経て、現在はフリーランスエンジニアとして活動しています。

PHPやJava・Rubyでの業務系Webアプリケーション開発が得意です。
TechAcademyではJavaコース・ブロックチェーンコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でもJavaやServletの技術を使ってWebアプリケーション開発を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。