Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9의 Arrays 클래스에 추가된 새로운 메소드는 무엇입니까?


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