Java에서 두 테이블 비교

Java에서는 배열의 각 요소를 비교하여 두 배열을 비교할 수 있습니다. Arrays은 Java에서 두 배열의 비교를 수행하는 데 유용할 수 있는 메서드를 제공합니다.

Arrays.equals()Arrays.deepEquals()예제 포함.

두 배열은 다음과 같은 경우 동일합니다.

  • 동일한 유형.
  • 동일한 수의 요소.
  • 두 배열의 각 요소 쌍은 동일합니다.
  • 요소의 순서는 동일해야 합니다.

Arrays.equals() 메서드 

Java 클래스 Arraysequals()을 사용하여 두 테이블을 비교할 수 있습니다. 그 원리는 traverse.

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

The method equalstrue 배열의 요소가 같으면 그렇지 않으면 false입니다.

Example:

import java.util.Arrays; 

public class equals
{
public static void main (String[] args)
{
// 비교할 테이블
int[] array1 = new int[] {1, 2, 3, 4, 5};
int[] 배열2 = 새로운 int[] {1, 2, 3, 4, 5};
int[] array3 = 새로운 int[] {1, 2, 2, 4, 5};

//array1 및 array2 배열을 equals와 비교합니다
if method(Arrays.equals(array1, array2))
System.out.println("배열이 같음");
else
System.out.println("배열이 같지 않습니다.");

// array1과 array3
if (Arrays.equals(array1, array3))
System.out.println("배열은 같음");
else
System.out.println("배열이 같지 않습니다.");
}
}
런타임:

배열 equal
배열이 같지 않습니다.

Arrays.equals() 은 두 배열의 요소를 비교합니다.

참고: 두 배열이 서로 다른 객체에 포함되어 있지만 동일한 값을 갖는 경우 아래 예제와 같이 같지 않습니다.

public class comparisonArrays2
{
public static void main (String[] args)
{
// 비교할 테이블
String[] array1 = new String[] {"a", "b", "c", "d"};
문자열[] array2 = 새 문자열[] {"a", "b", "c", "d"};
개체[] arrayObj1 = {array1};
Object[] arrayObj2 = {array2};

// arrayObj1과 arrayObj2 비교
if (Arrays.equals(arrayObj1, arrayObj2))
System.out.println("배열은 같음");
else
System.out.println("배열이 같지 않습니다.");
}
}

Execution:

배열이 같지 않습니다.

우리는 그것을 볼 수 있습니다 Arrays.equals() 은 더 깊은 비교를 할 수 없으며이 문제를 해결하려면 deepEquals().

Arrays.deepEquals()

Arrays 은 이름에서 알 수 있듯이 배열의 내용을보다 심층적으로 비교하는 또 다른 효율적인 방법을 제공합니다.

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

deepEquals 두 배열을 모두 구문 분석합니다t1T2을 입력하고 비교합니다. 심층 분석 후 두 값이 같으면 ture를 반환하고 그렇지 않으면 false를 반환합니다.

Two arrays t1 et t2 Object 유형의 속성은 다음 속성 중 하나 이상이 있는 경우 동일합니다.

  • t1 = t2
  • equals(t2)true.
  • t1과 t2의 개체 참조 형식이 동일한 경우 deepEquals(t1,t2)true.
  • t1과 t2의 기본 유형이 동일한 경우 equals(t1,t2) 반환  true.

예:

public class comparisonArrays3
{
public static void main (String[] args)
{
// 비교할 테이블
String[] array1 = new String[] {"java", "php", "자바스크립트", "c++"};
문자열[] array2 = 새로운 문자열[] {"자바", "php", "자바스크립트", "c++"};
개체[] t1 = {array1};
개체[] t2 = {array2};

// arrayObj1과 arrayObj2 비교
if (Arrays.deepEquals(t1, t2))
System.out.println("배열이 같음");
else
System.out.println("배열이 같지 않습니다.");
}
}

Runtime:

배열은 같음

참조:

Javadoc -  클래스 DeepEquals

Java.util.Arrays.equals(Object[], Object[]) 메서드