কম্পিউটার টিউটোরিয়াল

জাভা প্রোগ্রাম: প্রপার্টি দিয়ে ArrayList অবজেক্ট সর্ট করা

এই আর্টিকেলে আমরা বুঝব কীভাবে কাস্টম অবজেক্টের ArrayList কে প্রপার্টি দিয়ে সর্ট করতে হয়। ArrayList ক্লাস AbstractListকে এক্সটেন্ড করে এবং List ইন্টারফেস ইমপ্লিমেন্ট করে। ArrayList ডাইনামিক অ্যারে সাপোর্ট করে যা প্রয়োজন অনুযায়ী বড় হতে পারে।

ArrayList একটি ইনিশিয়াল সাইজ দিয়ে তৈরি হয়। এই সাইজ অতিক্রম হলে, কালেকশন আটোমেটিক্যালি বড় হয়। অবজেক্ট রিমুভ হলে অ্যারে ছোট হতে পারে।

ধরুন ইনপুট:

The list is defined as Java Scala Python Mysql

চাহিদা আউটপুট:

The list after sorting values: Java Mysql Python Scala

অ্যালগরিদম

Step 1 - START 
Step 2 - ভেরিয়েবল ডিক্লেয়ার 
Step 3 - মান ডিফাইন 
Step 4 - লিস্ট সর্ট করতে 'sort' মেথড ব্যবহার করুন 
Step 5 - লিস্টের প্রপার্টি তুলনা করতে 'compareTo' মেথড ব্যবহার করুন 
Step 6 - নতুন মান যোগ করতে 'add' মেথড ব্যবহার করুন 
Step 7 - main মেথডে ArrayList তৈরি করুন এবং 'sort' মেথড আহ্বান করুন 
Step 8 - ফলাফল প্রদর্শন 
Step 9 - STOP

উদাহরণ ১

এখানে সকল অপারেশন 'main' ফাংশনের অধীনে বাঁধা হয়েছে।

import java.util.*; 

class CustomObject { 
    private String custom_property; 
    public CustomObject(String property){ 
        this.custom_property = property; 
    } 
    public String get_custom_property(){ 
        return this.custom_property; 
    } 
} 

public class Demo { 
    public static void print(ArrayList input_list){ 
        for (CustomObject object : input_list) { 
            System.out.println(object.get_custom_property()); 
        } 
    } 
    public static void sort(ArrayList input_list){ 
        input_list.sort((object_1, object_2) 
            -> object_1.get_custom_property().compareTo( 
            object_2.get_custom_property())); 
    } 
    public static void add(ArrayList input_list){ 
        input_list.add(new CustomObject("Java")); 
        input_list.add(new CustomObject("Scala")); 
        input_list.add(new CustomObject("Python")); 
        input_list.add(new CustomObject("Mysql")); 
    } 
    public static void main(String[] args){ 
        System.out.println("Required packages have been imported"); 
        ArrayList input_list = new ArrayList<>(); 
        add(input_list); 
        System.out.println("The list is defined as "); 
        print(input_list); 
        sort(input_list); 
        System.out.println("\nThe list after sorting values: "); 
        print(input_list); 
    } 
}

আউটপুট

Required packages have been imported 
The list is defined as Java Scala Python Mysql 
The list after sorting values: Java Mysql Python Scala

উদাহরণ ২

এখানে অপারেশনগুলো ফাংশনে এনক্যাপসুলেট করা হয়েছে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং প্রদর্শন করতে।

import java.util.*; 

class CustomObject { 
    private String custom_property; 
    public CustomObject(String property){ 
        this.custom_property = property; 
    } 
    public String get_custom_property(){ 
        return this.custom_property; 
    } 
} 

public class Demo { 
    public static void main(String[] args){ 
        System.out.println("Required packages have been imported"); 
        ArrayList input_list = new ArrayList<>(); 
        input_list.add(new CustomObject("Java")); 
        input_list.add(new CustomObject("Scala")); 
        input_list.add(new CustomObject("Python")); 
        input_list.add(new CustomObject("Mysql")); 
        System.out.println("The number is defined as "); 
        for (CustomObject object : input_list) { 
            System.out.println(object.get_custom_property()); 
        } 
        input_list.sort((object_1, object_2) 
            -> object_1.get_custom_property().compareTo( 
            object_2.get_custom_property())); 
        System.out.println("\nThe list after sorting values: "); 
        for (CustomObject object : input_list) { 
            System.out.println(object.get_custom_property()); 
        } 
    } 
}

আউটপুট

Required packages have been imported 
The number is defined as Java Scala Python Mysql 
The list after sorting values: Java Mysql Python Scala
  1. রিকার্সিভ বাবল সোর্টের জন্য জাভা প্রোগ্রাম

  2. কম সোর্টের জন্য জাভা প্রোগ্রাম

  3. কাউন্টিং সোর্টের জন্য জাভা প্রোগ্রাম

  4. ককটেইল সোর্টের জন্য জাভা প্রোগ্রাম