Java তে Arrays একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার যা এক ধরনের একই ধরণের ডেটাকে একটি একক ভ্যারিয়েবলে সংরক্ষণ করতে ব্যবহৃত হয়। নিচে কিছু Java Arrays Examples দেওয়া হলো যা আপনাকে Arrays এর মৌলিক ধারণা এবং ব্যবহার বুঝতে সাহায্য করবে।
এই উদাহরণে, একটি integer array ডিক্লেয়ার এবং ইনিশিয়ালাইজ করা হয়েছে এবং তারপর সেটির মান প্রিন্ট করা হয়েছে।
public class ArrayExample {
public static void main(String[] args) {
// Array Declaration and Initialization
int[] numbers = {1, 2, 3, 4, 5};
// Printing the array elements
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
}
}
ব্যাখ্যা:
int[] numbers
দিয়ে একটি integer array ডিক্লেয়ার করা হয়েছে।numbers.length
দিয়ে অ্যারে এর আকার জানা যায় এবং তারপর for
লুপ দিয়ে অ্যারের সব উপাদান প্রিন্ট করা হচ্ছে।এই উদাহরণে, String Array ব্যবহার করে কয়েকটি স্ট্রিং সংরক্ষণ করা হয়েছে এবং সেটি প্রিন্ট করা হয়েছে।
public class StringArrayExample {
public static void main(String[] args) {
// Array of Strings
String[] fruits = {"Apple", "Banana", "Mango", "Pineapple"};
// Printing the array elements
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
ব্যাখ্যা:
এই উদাহরণে, 2D Array (দ্বি-মাত্রিক অ্যারে) ব্যবহার করা হয়েছে যেখানে সারি ও স্তম্ভ (rows and columns) রয়েছে।
public class TwoDimensionalArrayExample {
public static void main(String[] args) {
// 2D Array Initialization
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// Printing the 2D array
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
ব্যাখ্যা:
for
লুপ ব্যবহার করা হয়েছে 2D অ্যারের সব উপাদান প্রিন্ট করতে।এই উদাহরণে, অ্যারের উপাদান যোগ করা এবং আপডেট করা হয়েছে।
public class ArrayManipulationExample {
public static void main(String[] args) {
// Initializing array
int[] numbers = {10, 20, 30, 40, 50};
// Updating an element at index 2
numbers[2] = 100;
// Adding an element at the end (since arrays have fixed size, this part requires creating a new array)
int[] newNumbers = new int[numbers.length + 1];
for (int i = 0; i < numbers.length; i++) {
newNumbers[i] = numbers[i];
}
newNumbers[numbers.length] = 60; // Adding 60 at the end
// Printing updated array
for (int number : newNumbers) {
System.out.println(number);
}
}
}
ব্যাখ্যা:
এই উদাহরণে, Arrays.sort() মেথড ব্যবহার করে একটি অ্যারে সজ্জিত করা হয়েছে।
import java.util.Arrays;
public class ArraySortingExample {
public static void main(String[] args) {
int[] numbers = {5, 3, 8, 1, 2};
// Sorting the array
Arrays.sort(numbers);
// Printing sorted array
for (int number : numbers) {
System.out.println(number);
}
}
}
ব্যাখ্যা:
Arrays.sort()
মেথড ব্যবহার করে অ্যারের উপাদানগুলো সজ্জিত (ascending order) করা হয়েছে।এই উদাহরণে, একটি অ্যারের মধ্যে maximum এবং minimum মান খুঁজে বের করা হয়েছে।
public class MaxMinArrayExample {
public static void main(String[] args) {
int[] numbers = {15, 42, 7, 8, 31};
int max = numbers[0];
int min = numbers[0];
// Finding maximum and minimum values
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
if (numbers[i] < min) {
min = numbers[i];
}
}
System.out.println("Maximum value: " + max);
System.out.println("Minimum value: " + min);
}
}
ব্যাখ্যা:
এই উদাহরণে, একটি অ্যারে কপি করার পদ্ধতি দেখানো হয়েছে।
import java.util.Arrays;
public class ArrayCopyExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// Using Arrays.copyOf to copy the array
int[] copiedArray = Arrays.copyOf(numbers, numbers.length);
// Printing the copied array
System.out.println("Copied Array: " + Arrays.toString(copiedArray));
}
}
ব্যাখ্যা:
Arrays.copyOf()
মেথড ব্যবহার করে অ্যারের একটি কপি তৈরি করা হয়েছে।এই উদাহরণে ArrayIndexOutOfBoundsException এর বিষয়ে দেখানো হয়েছে যখন একটি ইনডেক্স অ্যারের সীমার বাইরে চলে যায়।
public class ArrayIndexOutOfBoundsExample {
public static void main(String[] args) {
int[] numbers = {10, 20, 30};
try {
// Trying to access an index outside the array size
System.out.println(numbers[5]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Array Index Out Of Bounds Exception: " + e.getMessage());
}
}
}
ব্যাখ্যা:
এই উদাহরণে, Array of Objects (অবজেক্ট অ্যারে) ব্যবহার করা হয়েছে।
class Car {
String model;
int year;
Car(String model, int year) {
this.model = model;
this.year = year;
}
void displayInfo() {
System.out.println("Model: " + model + ", Year: " + year);
}
}
public class ArrayOfObjectsExample {
public static void main(String[] args) {
Car[] cars = {
new Car("Toyota", 2020),
new Car("Honda", 2018),
new Car("Ford", 2022)
};
for (Car car : cars) {
car.displayInfo();
}
}
}
ব্যাখ্যা:
Car
অবজেক্টের একটি অ্যারে তৈরি করা হয়েছে এবং প্রতিটি অবজেক্টের তথ্য প্রিন্ট করা হচ্ছে।Java Arrays এর মাধ্যমে ডেটা গুলি একত্রিত এবং কার্যকরীভাবে পরিচালনা করা যায়। আপনি Arrays ব্যবহার করে ডেটা সংরক্ষণ, পুনরুদ্ধার, সাজানো, এবং বিভিন্ন অপারেশন সম্পাদন করতে পারেন। উপরোক্ত উদাহরণগুলি Arrays এর মৌলিক ব্যবহার এবং তার বিভিন্ন কার্যকারিতা বুঝতে সাহায্য করবে।
এক-ডাইমেনশনাল অ্যারে (One-dimensional Array) হল একটি ধরনের ডেটা স্ট্রাকচার যা এক ধরনের ডেটা একাধিক মান সংরক্ষণ করতে ব্যবহৃত হয়। এটি একটি সোজা লাইন বা রেঞ্জে উপাদানগুলি সন্নিবেশিত থাকে। এক-ডাইমেনশনাল অ্যারের মধ্যে একটি নির্দিষ্ট পরিমাণের উপাদান থাকে, এবং প্রত্যেকটি উপাদান ইনডেক্সের মাধ্যমে অ্যাক্সেস করা যায়।
Java তে এক-ডাইমেনশনাল অ্যারে তৈরি করার জন্য আপনি dataType[] arrayName
অথবা dataType arrayName[]
এই ফরম্যাট ব্যবহার করতে পারেন।
public class OneDimensionalArrayExample {
public static void main(String[] args) {
// এক-ডাইমেনশনাল অ্যারে ডিক্লেয়ার করা এবং ইনিশিয়ালাইজ করা
int[] numbers = {10, 20, 30, 40, 50}; // 5টি পূর্ণসংখ্যার মান যুক্ত করা
// অ্যারের মান প্রিন্ট করা
System.out.println("Array elements:");
for (int i = 0; i < numbers.length; i++) {
System.out.println("Element at index " + i + ": " + numbers[i]);
}
// নির্দিষ্ট ইনডেক্সে মান সেট করা
numbers[2] = 100; // index 2 তে মান পরিবর্তন করা (30 থেকে 100)
// অ্যারে উপাদান প্রিন্ট করা পরবর্তী পরিবর্তনের পর
System.out.println("\nArray elements after modification:");
for (int i = 0; i < numbers.length; i++) {
System.out.println("Element at index " + i + ": " + numbers[i]);
}
// অ্যারের একটি নির্দিষ্ট মান এক্সেস করা
System.out.println("\nElement at index 3: " + numbers[3]);
}
}
int[] numbers = {10, 20, 30, 40, 50};
— এখানে numbers
নামক একটি এক-ডাইমেনশনাল অ্যারে ডিক্লেয়ার করা হয়েছে, যা 5টি পূর্ণসংখ্যা (integer) মান ধারণ করে।for
লুপের মাধ্যমে অ্যারের প্রতিটি উপাদান প্রিন্ট করা হচ্ছে।numbers.length
দিয়ে অ্যারের আকার (সর্বোচ্চ ইনডেক্সের মান) পাওয়া যায়।numbers[2] = 100;
এই লাইনটি অ্যারের ইনডেক্স 2-এ থাকা মান (30) পরিবর্তন করে 100 করে দিচ্ছে।numbers[3]
— এটি অ্যারের 3 নাম্বার ইনডেক্সের মানটি (যা ছিল 40, কিন্তু পরিবর্তন হবে না) অ্যাক্সেস করবে।Array elements:
Element at index 0: 10
Element at index 1: 20
Element at index 2: 30
Element at index 3: 40
Element at index 4: 50
Array elements after modification:
Element at index 0: 10
Element at index 1: 20
Element at index 2: 100
Element at index 3: 40
Element at index 4: 50
Element at index 3: 40
int[] numbers = {10, 20, 30, 40, 50};
এখানে int[]
দ্বারা অ্যারের ডেটা টাইপ (যেমন int
, double
, String
ইত্যাদি) নির্ধারণ করা হয় এবং numbers
অ্যারে নাম।for
লুপের মাধ্যমে অ্যারের প্রতিটি উপাদান এক্সেস এবং প্রিন্ট করা যায়।অ্যারে ইনপুট দেওয়া: আপনি ব্যবহারকারীর কাছ থেকে ইনপুট নিয়ে অ্যারে তৈরি করতে পারেন।
উদাহরণ:
import java.util.Scanner;
public class ArrayInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the size of the array: ");
int size = scanner.nextInt();
int[] numbers = new int[size]; // অ্যারের আকার নির্ধারণ
// অ্যারে উপাদান ইনপুট নেওয়া
for (int i = 0; i < numbers.length; i++) {
System.out.print("Enter element " + (i+1) + ": ");
numbers[i] = scanner.nextInt();
}
// ইনপুট নেওয়া অ্যারে উপাদান প্রিন্ট করা
System.out.println("Array elements entered:");
for (int i = 0; i < numbers.length; i++) {
System.out.println("Element at index " + i + ": " + numbers[i]);
}
}
}
এক-ডাইমেনশনাল অ্যারে Java তে খুবই গুরুত্বপূর্ণ এবং এটি প্রোগ্রামিংয়ের বেসিক ডেটা স্ট্রাকচার। অ্যারে ব্যবহার করে ডেটা সংরক্ষণ, সঞ্চালন এবং প্রক্রিয়া করা সহজ হয়। Java তে অ্যারে ব্যবহারে কীভাবে ডেটা এক্সেস করা এবং পরিবর্তন করা যায়, তা এই উদাহরণে দেখানো হয়েছে।
মাল্টি-ডাইমেনশনাল অ্যারে হলো এমন একটি অ্যারে, যেখানে একাধিক ডাইমেনশন (row, column, ইত্যাদি) থাকে। Java তে মাল্টি-ডাইমেনশনাল অ্যারে ব্যবহার করা হয় যখন আমাদের বিভিন্ন গ্রুপ বা সেগমেন্টের মধ্যে ডেটা স্টোর করার প্রয়োজন হয়। এটি আসলে একাধিক একক ডাইমেনশনাল অ্যারের একটি অ্যারে।
2D অ্যারে একটি টেবিলের মতো হয়, যেখানে সারি (rows) এবং কলাম (columns) থাকে। এটি সাধারণত rows x columns আকারে থাকে।
public class TwoDimensionalArrayExample {
public static void main(String[] args) {
// 2D Array Declaration and Initialization
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// Displaying the 2D Array
System.out.println("2D Array (Matrix):");
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println(); // Move to the next line after each row
}
}
}
int[][] matrix = {...}
এইভাবে 2D অ্যারে ডিক্লেয়ার এবং ইনিশিয়ালাইজ করা হয়।matrix[i][j]
দ্বারা অ্যারের উপাদান অ্যাক্সেস করা হয় যেখানে i
হলো রো এবং j
হলো কলাম।2D Array (Matrix):
1 2 3
4 5 6
7 8 9
একটি 3D অ্যারে তিনটি ডাইমেনশন নিয়ে কাজ করে। এটি একটি অ্যারে যার প্রতিটি উপাদান অন্য একটি 2D অ্যারে ধারণ করে।
public class ThreeDimensionalArrayExample {
public static void main(String[] args) {
// 3D Array Declaration and Initialization
int[][][] cube = {
{
{1, 2, 3},
{4, 5, 6}
},
{
{7, 8, 9},
{10, 11, 12}
}
};
// Displaying the 3D Array
System.out.println("3D Array (Cube):");
for (int i = 0; i < cube.length; i++) {
for (int j = 0; j < cube[i].length; j++) {
for (int k = 0; k < cube[i][j].length; k++) {
System.out.print(cube[i][j][k] + " ");
}
System.out.println(); // Move to the next row in the 2D layer
}
System.out.println(); // Move to the next 2D layer
}
}
}
int[][][] cube = {...}
এখানে 3D অ্যারে ডিক্লেয়ার করা হয়।cube[i][j][k]
দ্বারা 3D অ্যারের উপাদান অ্যাক্সেস করা হয় যেখানে i
হল ডাইমেনশন (layer), j
হল রো এবং k
হল কলাম।3D Array (Cube):
1 2 3
4 5 6
7 8 9
10 11 12
জ্যাগড অ্যারে এমন অ্যারে, যেখানে প্রতিটি রো’র কলামের সংখ্যা ভিন্ন হতে পারে (non-rectangular)। এটি একটি বিশেষ ধরনের 2D অ্যারে।
public class JaggedArrayExample {
public static void main(String[] args) {
// Jagged Array Initialization
int[][] jaggedArray = new int[3][]; // 3 rows, but column sizes will vary
jaggedArray[0] = new int[]{1, 2, 3};
jaggedArray[1] = new int[]{4, 5};
jaggedArray[2] = new int[]{6, 7, 8, 9};
// Displaying the Jagged Array
System.out.println("Jagged Array:");
for (int i = 0; i < jaggedArray.length; i++) {
for (int j = 0; j < jaggedArray[i].length; j++) {
System.out.print(jaggedArray[i][j] + " ");
}
System.out.println(); // Move to the next row
}
}
}
int[][] jaggedArray = new int[3][];
দিয়ে 3টি রো রয়েছে এমন অ্যারে ডিক্লেয়ার করা হয়েছে, তবে প্রতিটি রোর কলামের সংখ্যা আলাদা।Jagged Array:
1 2 3
4 5
6 7 8 9
Java তে মাল্টি-ডাইমেনশনাল অ্যারে ব্যবহৃত হয় বিভিন্ন গ্রুপ বা সেগমেন্টের ডেটা একত্রিত করার জন্য, যেমন টেবিলের মতো ডেটা সংগ্রহ বা 3D গ্রিড বা ম্যাট্রিক্স তৈরি করতে। Java তে সাধারণত 2D অ্যারে বা 3D অ্যারে ব্যবহার করা হয়, তবে জ্যাগড অ্যারে (যেখানে প্রতিটি রো’র কলাম সংখ্যা আলাদা হতে পারে) ব্যবহার করেও ডেটা ধারণ করা যায়।
এগুলো Java তে Arrays এর বিস্তৃত ব্যবহার এবং তাদের ক্ষমতা বৃদ্ধির উদাহরণ।
Jagged Array বা Array of Arrays হল এমন একটি অ্যারে যা একাধিক অ্যারে ধারণ করে, যেখানে প্রতিটি উপ-অ্যারের দৈর্ঘ্য ভিন্ন হতে পারে। এটি সাধারণ অ্যারের চেয়ে ভিন্ন কারণ সাধারণ অ্যারে একই দৈর্ঘ্যের উপাদান ধারণ করে, কিন্তু জ্যাগড অ্যারে প্রতিটি "রো" বা উপঅ্যারের দৈর্ঘ্য আলাদা হতে পারে।
public class JaggedArrayExample {
public static void main(String[] args) {
// জ্যাগড অ্যারে ডিক্লেয়ার করা
int[][] jaggedArray = new int[3][]; // 3টি রো আছে, তবে প্রতিটির দৈর্ঘ্য নির্ধারণ করা হয়নি
// প্রতিটি রোর দৈর্ঘ্য আলাদা করে সেট করা
jaggedArray[0] = new int[2]; // প্রথম রো, 2 উপাদান
jaggedArray[1] = new int[4]; // দ্বিতীয় রো, 4 উপাদান
jaggedArray[2] = new int[3]; // তৃতীয় রো, 3 উপাদান
// অ্যারের উপাদান সেট করা
jaggedArray[0][0] = 1; // প্রথম রো, প্রথম উপাদান
jaggedArray[0][1] = 2; // প্রথম রো, দ্বিতীয় উপাদান
jaggedArray[1][0] = 3; // দ্বিতীয় রো, প্রথম উপাদান
jaggedArray[1][1] = 4; // দ্বিতীয় রো, দ্বিতীয় উপাদান
jaggedArray[1][2] = 5; // দ্বিতীয় রো, তৃতীয় উপাদান
jaggedArray[1][3] = 6; // দ্বিতীয় রো, চতুর্থ উপাদান
jaggedArray[2][0] = 7; // তৃতীয় রো, প্রথম উপাদান
jaggedArray[2][1] = 8; // তৃতীয় রো, দ্বিতীয় উপাদান
jaggedArray[2][2] = 9; // তৃতীয় রো, তৃতীয় উপাদান
// অ্যারের উপাদান প্রিন্ট করা
for (int i = 0; i < jaggedArray.length; i++) {
for (int j = 0; j < jaggedArray[i].length; j++) {
System.out.print(jaggedArray[i][j] + " ");
}
System.out.println(); // নতুন লাইনে চলে যাওয়ার জন্য
}
}
}
আউটপুট:
1 2
3 4 5 6
7 8 9
int[][] jaggedArray = new int[3][];
যেখানে ৩টি রো থাকবে, কিন্তু প্রতিটি রোর দৈর্ঘ্য পরে নির্ধারণ করা হবে।jaggedArray[0] = new int[2];
)jaggedArray[1] = new int[4];
)jaggedArray[2] = new int[3];
)for
লুপের মাধ্যমে এগুলো প্রিন্ট করা হয়েছে।জ্যাগড অ্যারে Java তে এমন একটি অ্যারে কনসেপ্ট যা একাধিক রো ধারণ করে, যেখানে প্রতিটি রোর দৈর্ঘ্য আলাদা হতে পারে। এটি বিশেষভাবে উপকারী যখন ডেটার আকার বা ফর্ম্যাট প্রতিটি রোর জন্য পরিবর্তিত হয়।
Java তে Arrays.sort()
মেথড ব্যবহার করে সহজেই অ্যারে সজ্জিত (sort) করা যায়। এটি java.util.Arrays
ক্লাসের একটি স্ট্যাটিক মেথড যা একটি অ্যারের উপাদানকে অ্যালফাবেটিক্যাল বা সান্নিধ্যিকভাবে (ascending or descending order) সজ্জিত করতে ব্যবহৃত হয়।
Arrays.sort()
ব্যবহার করার উদাহরণএখানে একটি সাধারণ অ্যারে (যেমন, পূর্ণসংখ্যার অ্যারে) সজ্জিত করার উদাহরণ দেওয়া হলো। এই উদাহরণে আমরা দেখব কিভাবে Arrays.sort()
মেথড ব্যবহার করে একটি পূর্ণসংখ্যার অ্যারে ascending অর্ডারে সাজানো যায়।
import java.util.Arrays;
public class ArraySortingExample {
public static void main(String[] args) {
// একটি পূর্ণসংখ্যার অ্যারে ডিক্লেয়ার করা
int[] numbers = {10, 2, 8, 6, 4, 3, 1, 9, 7};
// অ্যারে সজ্জিত করা (Ascending Order)
Arrays.sort(numbers);
// সাজানো অ্যারে প্রিন্ট করা
System.out.println("Sorted Array (Ascending Order): " + Arrays.toString(numbers));
}
}
আউটপুট:
Sorted Array (Ascending Order): [1, 2, 3, 4, 6, 7, 8, 9, 10]
Arrays.sort(numbers);
মেথডটি numbers
অ্যারেটিকে ascending অর্ডারে সাজিয়েছে।Arrays.toString(numbers)
ব্যবহার করা হয়েছে অ্যারের উপাদানগুলো প্রিন্ট করতে।Arrays.sort()
শুধুমাত্র ascending অর্ডারে কাজ করে, তবে descending অর্ডারে sort করতে হলে, আমরা reverse order comparator ব্যবহার করতে পারি।
import java.util.Arrays;
import java.util.Collections;
public class ArraySortingDescendingExample {
public static void main(String[] args) {
// একটি পূর্ণসংখ্যার অ্যারে ডিক্লেয়ার করা
Integer[] numbers = {10, 2, 8, 6, 4, 3, 1, 9, 7}; // Wrapper class Integer ব্যবহার করা
// অ্যারে সজ্জিত করা (Descending Order)
Arrays.sort(numbers, Collections.reverseOrder());
// সাজানো অ্যারে প্রিন্ট করা
System.out.println("Sorted Array (Descending Order): " + Arrays.toString(numbers));
}
}
আউটপুট:
Sorted Array (Descending Order): [10, 9, 8, 7, 6, 4, 3, 2, 1]
Arrays.sort(numbers, Collections.reverseOrder());
এই লাইনটি অ্যারে numbers
কে descending অর্ডারে সাজায়। এখানে Integer[]
ব্যবহার করা হয়েছে কারণ Collections.reverseOrder()
শুধুমাত্র অবজেক্ট টাইপের অ্যারে (যেমন Integer[]
) এর জন্য কাজ করে।Arrays.toString(numbers)
ব্যবহার করে সাজানো অ্যারে প্রিন্ট করা হয়েছে।এখন, একটি String Array কে ascending অর্ডারে সাজানোর উদাহরণ দেখব।
import java.util.Arrays;
public class StringArraySortingExample {
public static void main(String[] args) {
// একটি String টাইপের অ্যারে ডিক্লেয়ার করা
String[] fruits = {"Banana", "Apple", "Orange", "Mango", "Pineapple"};
// অ্যারে সজ্জিত করা (Alphabetical Order)
Arrays.sort(fruits);
// সাজানো অ্যারে প্রিন্ট করা
System.out.println("Sorted Array (Alphabetical Order): " + Arrays.toString(fruits));
}
}
আউটপুট:
Sorted Array (Alphabetical Order): [Apple, Banana, Mango, Orange, Pineapple]
Arrays.sort(fruits);
এই মেথডটি String অ্যারেটিকে alphabetically ascending অর্ডারে সাজায়।Arrays.toString(fruits)
ব্যবহার করে সাজানো String অ্যারে প্রিন্ট করা হয়েছে।Java তে যদি আপনি নিজে কোনো কাস্টম ক্রমের (custom order) অনুসারে অ্যারে সাজাতে চান, তবে Comparator
ব্যবহার করতে পারেন। এই উদাহরণে আমরা একটা কাস্টম কম্প্যারেটর ব্যবহার করব যেটি অ্যারের উপাদানগুলোকে descending অর্ডারে সাজাবে।
import java.util.Arrays;
import java.util.Comparator;
public class CustomSortingExample {
public static void main(String[] args) {
// একটি Integer অ্যারে ডিক্লেয়ার করা
Integer[] numbers = {10, 2, 8, 6, 4, 3, 1, 9, 7};
// কাস্টম কম্প্যারেটর ব্যবহার করে অ্যারে সজ্জিত করা (Descending Order)
Arrays.sort(numbers, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1; // descending order
}
});
// সাজানো অ্যারে প্রিন্ট করা
System.out.println("Sorted Array (Custom Descending Order): " + Arrays.toString(numbers));
}
}
আউটপুট:
Sorted Array (Custom Descending Order): [10, 9, 8, 7, 6, 4, 3, 2, 1]
Comparator
ইন্টারফেস ব্যবহার করে একটি কাস্টম কম্প্যারেটর তৈরি করা হয়েছে, যেটি o2 - o1
দ্বারা descending অর্ডার প্রয়োগ করছে।Arrays.sort(numbers, new Comparator<Integer>())
এইভাবে কাস্টম সোর্টিং করা হয়েছে।Arrays.sort()
মেথডটি Java তে অ্যারে সজ্জিত করার জন্য একটি সহজ এবং শক্তিশালী উপায়।Arrays.sort()
ব্যবহৃত হতে পারে।Java তে 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()
ব্যবহার করে অ্যারের মানগুলোকে সুন্দরভাবে প্রিন্ট করা যায়।Read more