Java で 2 つのテーブルを比較する

Javaでは、配列の各要素を比較することで、2つの配列を比較できます。Arrays は、Java.

比較を行うのに役立つメソッドを提供します>Arrays.equals() および Arrays.deepEquals()with examples.

2つの配列は、次の場合、等しくなります:

  • 同じ型。
  • 同じ数の要素。
  • 両方の配列の要素の各ペアは等しい。
  • 要素の順序は同じでなければならない。

Arrays.equals()メソッド 

Java クラス Arraysequals() を使用して 2 つのテーブルを比較します。その原理は、traverse.

public static boolean equals(int[] a1, int[] a2)

メソッド equalstrue 配列の要素が等しい場合は false.

例:

import java.util.Arrays;

public class equals
{
public static void main (String[] args)
{
// 比較するテーブル
int[] array1 = new int[] {1, 2, 3, 4, 5};
int[] array2 = new int[] {1, 2, 3, 4, 5};
int[] array3 = new int[] {1, 2, 2, 4, 5};

//配列 array1 と array2 を equals
と比較します if method(Arrays.equals(array1, array2))
System.out.println("Arrays are equal");
else
System.out.println("配列が等しくありません。");

// array1 と array3 を比較します
if (Arrays.equals(array1, array3))
System.out.println("Arrays are equal");
else
System.out.println("配列が等しくありません。");
}
}
Runtime:

配列は等しくありません
配列は等しくありません

Arrays.equals() は、2 つの配列の要素を比較します.

注: 2 つの配列が異なるオブジェクトに含まれているが、同じ値を持つ場合、以下の例に示すように等しくありません。

public class comparisonArrays2
{
public static void main (String[] args)
{
// 比較するテーブル
String[] array1 = new String[] {"a", "b", "c", "d"};
文字列[] array2 = new String[] {"a", "b", "c", "d"};
オブジェクト[] arrayObj1 = {array1};
オブジェクト[] arrayObj2 = {array2};

// arrayObj1 と arrayObj2 の比較
if (Arrays.equals(arrayObj1, arrayObj2))
System.out.println("Arrays are equal");
else
System.out.println("配列が等しくありません。");
}
}

Execution:

配列が等しくありません.

ことがわかります Arrays.equals()は詳細な比較を行うことができず、これを解決するにはdeepEquals().

Arrays.deepEquals()

Arrays は、名前が示すように、配列の内容をより詳細に比較するための別のより効率的な方法を提供します.

public static boolean deepEquals(Object[] t1, Object[] t2) 

deepEquals 両方の配列を解析します t1 および T2 を使用して比較します。詳細な分析の後、2 つが等しい場合は ture が返され、それ以外の場合は false.

Two arrays t1 et t2 of type Object は、次のプロパティの少なくとも 1 つを持つ場合と等しくなります:

  • t1 = t2
  • equals(t2)true.
  • t1 と t2 のオブジェクト参照型が同じ場合、メソッド deepEquals(t1,t2)true.
  • t1 と t2 のプリミティブ型が同じ場合、メソッド equals(t1,t2) 戻り値 true.

Example:

public class comparisonArrays3
{
public static void main (String[] args)
{
// 比較するテーブル
String[] array1 = new String[] {"java", "php", "javascript", "c++"};
String[] array2 = new String[] {"java", "php", "javascript", "c++"};
オブジェクト[] t1 = {配列1};
オブジェクト[] t2 = {array2};

// arrayObj1 と arrayObj2 を比較します
if (Arrays.deepEquals(t1, t2))
System.out.println("Arrays are equal");
else
System.out.println("配列が等しくありません。");
}
}

Runtime:

配列は等しい

参照:

Javadoc - Class DeepEquals

Java.util.Arrays.equals(Object[], Object[]) メソッド