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

WBOY
WBOY 转载
2023-08-20 18:33:27 224浏览

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

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

Syntax

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

在上述语法中,如果两个指定的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(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();
   }
}

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

public static int compare(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)

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(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));
   }
}

Output

0
0
1

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

public static int mismatch(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)

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(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));
   }
}

Output

-1
2
-1
2
0

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

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除