Arrays ক্লাসে অ্যারে ম্যানিপুলেশনের বিভিন্ন মেথড থাকে এবং স্ট্যাটিক ফ্যাক্টরি মেথডও আছে যাতে অ্যারেকে লিস্ট হিসেবে ভিউ করা যায়। জাভা ৯-এ Arrays ক্লাসে তিনটি গুরুত্বপূর্ণ মেথড যোগ করা হয়েছে: Arrays.equals(), Arrays.compare() এবং Arrays.mismatch()।
Arrays.equals() - উন্নত সংস্করণ
জাভা ৯-এ Arrays.equals() মেথডে কিছু ওভারলোডেড মেথড যোগ করা হয়েছে। নতুন মেথডগুলো দুটি প্রদত্ত অ্যারের জন্য fromIndex এবং toIndex প্যারামিটার নেয়। এগুলো তাদের রিলেটিভ إندেক্স পজিশন বেসড দুটি অ্যারের সমতা চেক করে।
সিনট্যাক্স
public static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
উপরের সিনট্যাক্সে, মেথডটি true রিটার্ন করবে যদি দুইটি নির্দিষ্ট int অ্যারে এবং নির্দিষ্ট রেঞ্জগুলো অন্যটির সাথে সমান হয়। দ্বিতীয় মেথড চ্যার অ্যারের জন্য একইভাবে কাজ করে।
উদাহরণ
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() - নতুন প্যারামিটার
জাভা ৯-এ 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() - নতুন ওভারলোডেড মেথড
জাভা ৯-এ Arrays.mismatch() মেথডের অন্যান্য ওভারলোডেড মেথডগুলো আছে যা দুটি অ্যারে স্লাইসের মধ্যে প্রথম মিসম্যাচের ইনডেক্স খুঁজে বের করে রিটার্ন করে।
সিনট্যাক্স
public static int mismatch(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
উপরের সিনট্যাক্সে, মেথডটি দুটি int অ্যারের মধ্যে নির্দিষ্ট রেঞ্জের ওপর প্রথম মিসম্যাচের রিলেটিভ ইনডেক্স খুঁজে বের করে রিটার্ন করে। যদি কোনো মিসম্যাচ না পাওয়া যায় তবে -1 রিটার্ন করে। ইনডেক্স ০ (ইনক্লুসিভ) থেকে ছোট রেঞ্জের দৈর্ঘ্য (ইনক্লুসিভ) পর্যন্ত থাকে।
উদাহরণ
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