Java তে System.arraycopy() একটি প্রি-ডিফাইন্ড মেথড যা একটি অ্যারের উপাদান অন্য একটি অ্যারে বা একই অ্যারের মধ্যে কপি করার জন্য ব্যবহৃত হয়। এটি খুবই দ্রুত এবং কার্যকরী পদ্ধতি, বিশেষ করে বড় আকারের অ্যারে কপি করার জন্য।
System.arraycopy() এর সিঙ্কট্যাক্স:
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src: উৎস অ্যারে (যেখান থেকে ডেটা কপি করতে হবে)srcPos: উৎস অ্যারের সেই ইনডেক্স থেকে কপি শুরু হবেdest: গন্তব্য অ্যারে (যেখানে ডেটা কপি করা হবে)destPos: গন্তব্য অ্যারের সেই ইনডেক্সে কপি শুরু হবেlength: কতগুলো উপাদান কপি করতে হবে
উদাহরণ ১: সাধারণ অ্যারে কপি করা
import java.util.Arrays;
public class ArrayCopyExample {
public static void main(String[] args) {
// উৎস অ্যারে
int[] sourceArray = {1, 2, 3, 4, 5};
// গন্তব্য অ্যারে (এখানে উৎস অ্যারের সাইজের সমান)
int[] destinationArray = new int[5];
// System.arraycopy() দিয়ে কপি করা
System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length);
// গন্তব্য অ্যারে প্রিন্ট করা
System.out.println("Destination Array: " + Arrays.toString(destinationArray));
}
}
কোডের ব্যাখ্যা:
System.arraycopy(): এটি উৎস অ্যারের প্রথম থেকে শেষ পর্যন্ত সমস্ত উপাদান গন্তব্য অ্যারে তে কপি করে।Arrays.toString(): এটি গন্তব্য অ্যারের উপাদান গুলি সহজে প্রিন্ট করতে সাহায্য করে।
আউটপুট:
Destination Array: [1, 2, 3, 4, 5]
উদাহরণ ২: অংশবিশেষ অ্যারে কপি করা
import java.util.Arrays;
public class ArrayCopyExample {
public static void main(String[] args) {
// উৎস অ্যারে
int[] sourceArray = {1, 2, 3, 4, 5, 6, 7, 8, 9};
// গন্তব্য অ্যারে (এখানে বড় একটি অ্যারে তৈরি করা হয়েছে)
int[] destinationArray = new int[5];
// System.arraycopy() দিয়ে অংশবিশেষ কপি করা
System.arraycopy(sourceArray, 2, destinationArray, 0, 5);
// গন্তব্য অ্যারে প্রিন্ট করা
System.out.println("Destination Array: " + Arrays.toString(destinationArray));
}
}
কোডের ব্যাখ্যা:
System.arraycopy(sourceArray, 2, destinationArray, 0, 5): এটিsourceArrayথেকে 2-য় ইনডেক্স (যথা3) থেকে শুরু করে 5টি উপাদান কপি করবে এবং গন্তব্য অ্যারের প্রথম 5টি ইনডেক্সে রাখবে।
আউটপুট:
Destination Array: [3, 4, 5, 6, 7]
উদাহরণ ৩: একই অ্যারের মধ্যে কপি করা
import java.util.Arrays;
public class ArrayCopyExample {
public static void main(String[] args) {
// একটি অ্যারে তৈরি
int[] arr = {1, 2, 3, 4, 5};
// System.arraycopy() দিয়ে অ্যারের ভিতরই কপি করা
System.arraycopy(arr, 1, arr, 2, 3);
// অ্যারের পরিবর্তিত মান প্রিন্ট করা
System.out.println("Modified Array: " + Arrays.toString(arr));
}
}
কোডের ব্যাখ্যা:
System.arraycopy(arr, 1, arr, 2, 3): এটিarrঅ্যারের প্রথম উপাদান থেকে 1 ইনডেক্স পরবর্তী 3টি উপাদান কপি করে 2 ইনডেক্স থেকে শুরু করে সেগুলি সংরক্ষণ করবে।
আউটপুট:
Modified Array: [1, 2, 2, 3, 4]
উদাহরণ ৪: একাধিক অ্যারে কপি করা
import java.util.Arrays;
public class ArrayCopyExample {
public static void main(String[] args) {
// প্রথম উৎস অ্যারে
int[] array1 = {1, 2, 3};
// দ্বিতীয় উৎস অ্যারে
int[] array2 = {4, 5, 6};
// গন্তব্য অ্যারে (দুটি উৎস অ্যারের সাইজের যোগফল)
int[] destinationArray = new int[array1.length + array2.length];
// দুটি অ্যারে কপি করা গন্তব্য অ্যারে তে
System.arraycopy(array1, 0, destinationArray, 0, array1.length);
System.arraycopy(array2, 0, destinationArray, array1.length, array2.length);
// গন্তব্য অ্যারে প্রিন্ট করা
System.out.println("Combined Array: " + Arrays.toString(destinationArray));
}
}
কোডের ব্যাখ্যা:
- প্রথমে
array1কপি করা হয়েছে গন্তব্য অ্যারের প্রথম অংশে। - তারপর
array2কপি করা হয়েছে গন্তব্য অ্যারের দ্বিতীয় অংশে।
আউটপুট:
Combined Array: [1, 2, 3, 4, 5, 6]
System.arraycopy()একটি খুবই কার্যকরী এবং দ্রুত পদ্ধতি যা অ্যারের উপাদান কপি করার জন্য Java তে ব্যবহৃত হয়।- এটি একাধিক অ্যারে কপি করতে, অংশবিশেষ কপি করতে এবং একই অ্যারের মধ্যে কপি করতে সাহায্য করে।
Arrays.toString()ব্যবহার করে অ্যারের মানগুলোকে সুন্দরভাবে প্রিন্ট করা যায়।
Content added By
Read more