在Java 9中,Arrays类新增了哪些新方法?

Arrays.equal() - 在Java 9中,Arrays.equals()方法添加了几个重载方法。新方法为提供的两个数组添加了fromIndextoIndex参数。这些方法根据它们的相对索引位置检查两个数组的相等性。

Syntax

<strong>public static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)</strong>

在上述语法中,如果两个指定的int数组和指定的范围内的元素相等,则该方法返回true。第二个方法对于char数组也是一样的。

示例

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(<strong>Arrays</strong>.<strong>equals</strong>(existRows, newRows));
      System.out.println(<strong>Arrays</strong>.<strong>equals</strong>(existRows, 1, 3, newRows, 3, 5));
      System.out.println(<strong>Arrays</strong>.<strong>equals</strong>(existRows, 3, 5, newRows, 0, 2));
   }
   public static void main(String args[]) {
      CompareArrayTest.arrayEqualsTest();
   }
}

Output

false
true
true

Arrays.compare() − In Java 9, few parameters have added to the Arrays.compare() method. With fromIndex/toIndex parameters that are used for relative position comparison.

Syntax

<strong>public static int compare(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)</strong>

In the above syntax, the method compares two int arrays lexicographically over the specified ranges.

Example

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(<strong>Arrays.compare</strong>(tomMarks, 0, 3, daisyMarks, 0, 3));
      System.out.println(<strong>Arrays.compare</strong>(tomMarks, 0, 4, maryMarks, 0, maryMarks.length));
      System.out.println(<strong>Arrays.compare</strong>(daisyMarks, 0, 4, maryMarks, 0, maryMarks.length));
   }
}

Output

<strong>0
0
1</strong>

Arrays.mismatch() −In Java 9, there are other overloaded methods of the Arrays.mismatch() method that enables us to find and return the index of the first mismatch between two slices of arrays.

Syntax

<strong>public static int mismatch(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)</strong>

In the above syntax, the method finds and returns the relative index of the first mismatch between two int arrays over the specified range. It returns -1 if no mismatch has found. The index in the range of 0 (inclusive) up to the length (inclusive) of the smaller range.

Example

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(<strong>Arrays.mismatch</strong>(a, b));
      System.out.println(<strong>Arrays.mismatch</strong>(a, c));
      System.out.println(<strong>Arrays.mismatch</strong>(a, 0, 2, c, 0, 2));
      System.out.println(<strong>Arrays.mismatc</strong><strong>h</strong>(a, 0, 3, c, 0, 3));
      System.out.println(<strong>Arrays.mismatch</strong>(a, 2, a.length, c, 2, 5));
   }
}

Output

<strong>-1
2
-1
2
0</strong>

以上就是在Java 9中,Arrays类新增了哪些新方法?的详细内容,更多请关注其它相关文章!