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)); } }
監修してくれたメンター
青柳哲夫
独立系SIerやベンチャーを経て、現在はフリーランスエンジニアとして活動しています。 PHPやJava・Rubyでの業務系Webアプリケーション開発が得意です。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもJavaやServletの技術を使ってWebアプリケーション開発を習得できるオンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。