Javaで配列比較方法を解説
1. はじめに
Javaの配列比較を理解することは、プログラミングにおける重要なスキルです。
この記事ではJavaで配列を比較する方法を複数紹介し、それぞれの出力結果とともに解説します。具体的なソースコードとその出力結果を示すことで、理解を深めることができます。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133655-300x300.png)
2. 配列比較の基本
Javaで配列を比較するためには、通常Arrays.equals()
メソッドを使用します。これは2つの配列が等しいかどうかをチェックするためのもので、全ての要素が同じ順序で同じ値を持つ場合にtrueを返します。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133712-300x300.png)
ソースコード例1: Arrays.equals()の使用
1 2 3 4 5 6 7 8 9 10 11 12 |
```java import java.util.Arrays; public class Program { public static void main(String[] args) { int[] array1 = {1, 2, 3, 4, 5}; int[] array2 = {1, 2, 3, 4, 5}; System.out.println(Arrays.equals(array1, array2)); } } ``` |
出力結果
true
3. 配列比較の応用
しかし、Arrays.equals()
は配列の要素の順序もチェックするため、同じ要素を含むが順序が異なる配列を等しくないと判断します。順序を無視して配列を比較したい場合はどうするべきでしょうか?
その場合は、配列をソートしてから比較することが一つの解決策となります。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題824_20230225215240-300x300.png)
ソースコード例2: ソート後の配列比較
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
```java import java.util.Arrays; public class Program { public static void main(String[] args) { int[] array1 = {1, 3, 2, 5, 4}; int[] array2 = {1, 2, 3, 4, 5}; Arrays.sort(array1); Arrays.sort(array2); System.out.println(Arrays.equals(array1, array2)); } } ``` |
出力結果
true
KindleUnlimited会員であれば、全ての本をご覧頂けます。 StreamAPIを理解すれば、Javaの世界が変わる 第1版
![](https://csharpprogram.com/wp-content/uploads/2023/03/StreamAPI第1版-188x300.jpg)
4. 配列の深層比較
多次元配列を比較する場合、Arrays.equals()
メソッドは期待通りの結果を返しません。多次元配列の比較にはArrays.deepEquals()
メソッドを使います。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133712-300x300.png)
ソースコード例3: 多次元配列の比較
1 2 3 4 5 6 7 8 9 10 11 12 |
```java import java.util.Arrays; public class Program { public static void main(String[] args) { int[][] array1 = {{1, 2}, {3, 4}, {5, 6}}; int[][] array2 = {{1, 2}, {3, 4}, {5, 6}}; System.out.println(Arrays.deepEquals(array1, array2)); } } ``` |
出力結果
true
5. まとめ
以上がJavaで配列を比較する基本的な方法とその応用例です。状況に応じて適切な比較メソッドを選択することが重要です。
それぞれの方法をしっかり理解して、自分のコードに適用してみてください。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)
![](https://csharpprogram.com/wp-content/uploads/2023/05/image25-1.jpg)
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)