Arrays क्लास में सरणियों में हेरफेर करने के लिए विभिन्न मेथड होते हैं और इसमें स्टेटिक फैक्ट्री मेथड भी होते हैं जो सरणियों को सूची के रूप में देखने की अनुमति देते हैं। जावा 9 ने Arrays क्लास में तीन महत्वपूर्ण मेथड जोड़े हैं: Arrays.equals(), Arrays.compare() और Arrays.mismatch()।
Arrays.equals()
जावा 9 में, Arrays.equals() मेथड में कुछ ओवरलोडेड मेथड जोड़े गए हैं। नए मेथड दो प्रदान की गई सरणियों के लिए fromIndex और toIndex पैरामीटर लेते हैं। ये मेथड उनकी सापेक्ष इंडेक्स स्थितियों के आधार पर दो सरणियों की समानता की जांच करते हैं।
सिंटैक्स
public static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
उपरोक्त सिंटैक्स में, मेथड true लौटाता है यदि निर्दिष्ट रेंज पर ints की दो निर्दिष्ट सरणियाँ एक दूसरे के बराबर हैं। दूसरा मेथड chars की सरणी के लिए समान काम करता है।
उदाहरण
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()
जावा 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()
जावा 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