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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,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] Javaで挫折しない学習方法を動画で公開中

監修してくれたメンター

青柳哲夫

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

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。

JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

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