Array Sorting Example: Arrays.sort() ব্যবহার করে অ্যারে সর্টিং

Java Arrays Examples - জাভা উদাহরন (Java  Examples) - Java Technologies

363

Java তে Arrays.sort() মেথড ব্যবহার করে সহজেই অ্যারে সজ্জিত (sort) করা যায়। এটি java.util.Arrays ক্লাসের একটি স্ট্যাটিক মেথড যা একটি অ্যারের উপাদানকে অ্যালফাবেটিক্যাল বা সান্নিধ্যিকভাবে (ascending or descending order) সজ্জিত করতে ব্যবহৃত হয়।

Arrays.sort() ব্যবহার করার উদাহরণ

এখানে একটি সাধারণ অ্যারে (যেমন, পূর্ণসংখ্যার অ্যারে) সজ্জিত করার উদাহরণ দেওয়া হলো। এই উদাহরণে আমরা দেখব কিভাবে Arrays.sort() মেথড ব্যবহার করে একটি পূর্ণসংখ্যার অ্যারে ascending অর্ডারে সাজানো যায়।

উদাহরণ ১: Ascending Order এ Integer Array Sort করা

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) ব্যবহার করা হয়েছে অ্যারের উপাদানগুলো প্রিন্ট করতে।

উদাহরণ ২: Descending Order এ Integer Array Sort করা

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 Sorting (Alphabetical Order)

এখন, একটি 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 অ্যারে প্রিন্ট করা হয়েছে।

উদাহরণ ৪: Custom Sorting with Comparator

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 তে অ্যারে সজ্জিত করার জন্য একটি সহজ এবং শক্তিশালী উপায়।
  • অ্যারে সজ্জিত করার জন্য আপনি ascending, descending এবং custom sorting (কম্প্যারেটর ব্যবহার করে) বিভিন্ন পদ্ধতি ব্যবহার করতে পারেন।
  • String Arrays, Integer Arrays, এবং custom object arrays সব ক্ষেত্রেই Arrays.sort() ব্যবহৃত হতে পারে।
Content added By
Promotion

Are you sure to start over?

Loading...