Lớp mảng có thể chứa các phương thức khác nhau để thao tác với mảng và cũng chứa các phương thức nhà máy tĩnh cho phép các mảng xem như một danh sách. Java 9 đã thêm ba phương thức quan trọng vào lớp Mảng: Arrays.equals () , Arrays.compare () và Arrays.mismatch () .
Arrays.equal () - Trong Java 9, một số phương thức nạp chồng đã được thêm vào Arrays.equals () phương pháp. Các phương pháp mới lấy fromIndex và toIndex tham số cho hai mảng được cung cấp. Các phương pháp này kiểm tra sự bằng nhau của hai mảng dựa trên vị trí chỉ mục tương đối của chúng.
Cú pháp
public static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
Trong cú pháp trên, phương thức trả về true nếu hai mảng được chỉ định int và trên các phạm vi được chỉ định bằng nhau. Phương thức thứ hai hoạt động tương tự đối với một mảng ký tự.
Ví dụ
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(); } }
Đầu ra
false true true
Arrays.compare () - Trong Java 9, một số tham số đã được thêm vào Arrays.compare () phương pháp. Với fromIndex / toIndex các tham số được sử dụng để so sánh vị trí tương đối.
Cú pháp
public static int compare(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
Trong cú pháp trên, phương thức so sánh hai mảng int về mặt từ vựng trên phạm vi được chỉ định.
Ví dụ
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)); } }
Đầu ra
0 0 1
Arrays.mismatch () - Trong Java 9, có các phương thức được nạp chồng khác của Arrays.mismatch () phương thức cho phép chúng tôi tìm và trả về chỉ mục của sự không khớp đầu tiên giữa hai phần của mảng.
Cú pháp
public static int mismatch(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
Trong cú pháp trên, phương thức tìm và trả về tương đối chỉ mục của sự không khớp đầu tiên giữa hai mảng int trên phạm vi được chỉ định. Nó trả về -1 nếu không tìm thấy sự không phù hợp nào. Chỉ số trong phạm vi 0 (bao gồm) cho đến độ dài (bao gồm) của phạm vi nhỏ hơn.
Ví dụ
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)); } }
Đầu ra
-1 2 -1 2 0