Arrays 클래스는 배열을 조작하기 위한 다양한 메서드를 포함할 수 있으며 배열을 목록으로 볼 수 있도록 하는 정적 팩토리 메서드도 포함합니다. Java 9는 Arrays 클래스에 세 가지 중요한 메소드를 추가했습니다. Arrays.equals() , Arrays.compare() 및 Arrays.mismatch() .
Arrays.equal() - Java 9에서는 Arrays.equals() 에 몇 가지 오버로드된 메서드가 추가되었습니다. 방법. 새 메소드는 fromIndex 를 사용합니다. 및 인덱스로 제공된 두 배열에 대한 매개변수입니다. 이 메서드는 상대적인 인덱스 위치를 기반으로 두 배열의 동등성을 확인합니다.
구문
public static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
위의 구문에서 메서드는 지정된 두 int 배열과 지정된 범위가 다른 배열과 같으면 true를 반환합니다. 두 번째 방법은 문자 배열에 대해 동일하게 작동합니다.
예시
import java.util.Arrays; public class CompareArrayTest { public static void arrayEqualsTest() { int[] existRows = {0, 1, 2, 3, 4, 5}; int[] newRows = {3, 4, 5, 1, 2, 0}; System.out.println(Arrays.equals(existRows, newRows)); System.out.println(Arrays.equals(existRows, 1, 3, newRows, 3, 5)); System.out.println(Arrays.equals(existRows, 3, 5, newRows, 0, 2)); } public static void main(String args[]) { CompareArrayTest.arrayEqualsTest(); } }
출력
false true true
Arrays.compare() - Java 9에서는 Arrays.compare()에 몇 가지 매개변수가 추가되었습니다. 방법. fromIndex/toIndex 사용 상대 위치 비교에 사용되는 매개변수입니다.
구문
public static int compare(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
위의 구문에서 메서드는 두 개의 int 배열을 사전순으로 비교합니다. 지정된 범위 이상입니다.
예시
import java.util.Arrays; public class LexicographicalArraysTest { public static void main(String args[]) { LexicographicalArraysTest.compareSliceArraysTest(); } public static void compareSliceArraysTest() { int[] tomMarks = {5, 6, 7, 8, 9, 10}; int[] daisyMarks = {5, 6, 7, 10, 9, 10}; int[] maryMarks = {5, 6, 7, 8}; System.out.println(Arrays.compare(tomMarks, 0, 3, daisyMarks, 0, 3)); System.out.println(Arrays.compare(tomMarks, 0, 4, maryMarks, 0, maryMarks.length)); System.out.println(Arrays.compare(daisyMarks, 0, 4, maryMarks, 0, maryMarks.length)); } }
출력
0 0 1
Arrays.mismatch() - Java 9에는 Arrays.mismatch()의 다른 오버로드된 메서드가 있습니다. 두 배열 조각 사이의 첫 번째 불일치 인덱스를 찾아 반환할 수 있는 메서드입니다.
구문
public static int mismatch(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
위 구문에서 메서드는 상대 를 찾아 반환합니다. 색인 지정된 범위에서 두 int 배열 사이의 첫 번째 불일치. 불일치가 발견되지 않으면 -1을 반환합니다. 0(포함) 범위에서 더 작은 범위의 길이(포함)까지의 인덱스입니다.
예시
import java.util.Arrays; public class MismatchMethodTest { public static void main(String[] args) { MismatchMethodTest.mismatchArraysTest(); } public static void mismatchArraysTest() { int[] a = {1, 2, 3, 4, 5}; int[] b = {1, 2, 3, 4, 5}; int[] c = {1, 2, 4, 4, 5, 6}; System.out.println(Arrays.mismatch(a, b)); System.out.println(Arrays.mismatch(a, c)); System.out.println(Arrays.mismatch(a, 0, 2, c, 0, 2)); System.out.println(Arrays.mismatch(a, 0, 3, c, 0, 3)); System.out.println(Arrays.mismatch(a, 2, a.length, c, 2, 5)); } }
출력
-1 2 -1 2 0