LoginSignup
0
0

Java 配列の要素を比較する方法

Posted at

Javaの学習で配列の比較をする時、つまずいた部分について記事にしたいと思います。

equalsとdeepEqualsについて

このような配列が二つ存在する場合、配列の要素の数が同じかつ、インデックスの要素が正しいか確認したい時があるかと思います。

int[] a = {85, 78, 92};
int[] b = {85, 78, 92};

Javaの場合、等価演算子で配列の中身を比較することができず、equalsメソッドを使って比較することができます。

//java.util.Arraysのインポートが必要です
import java.util.Arrays;

int[] a = {85, 78, 92};
int[] b = {85, 78, 92};

//aとbの配列を比較し要素数と値が正しければtrueがisEqualに入ります
boolean isEqual = Arrays.equals(a, b);

if (isEqual) {
    // 配列が等しい場合の処理
    System.out.println("配列は等しいです。");
} else {
    // 配列が等しくない場合の処理
    System.out.println("配列は等しくありません。");
}

まだ使用したことないですが、多次元配列は、deepEqualsで確認することが可能みたいです。

int[][] array1 = {{1, 2}, {3, 4}};
int[][] array2 = {{1, 2}, {3, 4}};

boolean isEqual = Arrays.deepEquals(array1, array2);

if (isEqual) {
    // 配列が等しい場合の処理
    System.out.println("配列は等しいです。");
} else {
    // 配列が等しくない場合の処理
    System.out.println("配列は等しくありません。");
}

使う機会がありましたら使ってみようかなと思います。

PHPは等価演算子のみで配列の中身を確認できる

PHPでは、等価演算子(==)を使用すれば、配列の要素数と値が同一かどうか確認することができます。

index.php
<?php
 
$fruits1 = ['apple', 'orange', 'melon', 'banana', 'pineapple'];
$fruits2 = ['apple', 'orange', 'melon', 'banana', 'pineapple'];
 
if ($fruits1 == $fruits2){
  echo '等しいです';
} else {
  echo '等しくないです';
}
 
?>

まとめ

PHPを使って2年ほど開発していたので、ついついPHPの書き方で書いてしまいます。

Javaの型宣言はPHPにはないので最初戸惑いましたが、変数に何が入ってるのか分かるので第三者がコードを見た時にすぐに理解できる点がJavaの良い所かなと個人的に思いました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0