Java에서 두 테이블 비교
Java에서는 배열의 각 요소를 비교하여 두 배열을 비교할 수 있습니다. Arrays은 Java에서 두 배열의 비교를 수행하는 데 유용할 수 있는 메서드를 제공합니다.
Arrays.equals() 및 Arrays.deepEquals()예제 포함.
두 배열은 다음과 같은 경우 동일합니다.
- 동일한 유형.
- 동일한 수의 요소.
- 두 배열의 각 요소 쌍은 동일합니다.
- 요소의 순서는 동일해야 합니다.
Arrays.equals() 메서드
Java 클래스 Arrays은 equals()을 사용하여 두 테이블을 비교할 수 있습니다. 그 원리는 traverse.
public static boolean equals(int[] a1, int[] a2)
The method equals은 true 배열의 요소가 같으면 그렇지 않으면 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 두 배열을 모두 구문 분석합니다t1 및 T2을 입력하고 비교합니다. 심층 분석 후 두 값이 같으면 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:
배열은 같음
참조: