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

জাভা প্রোগ্রাম: Map কে মান (Value) অনুযায়ী সর্ট করা

এই আর্টিকেলে আমরা বুঝব কীভাবে একটি Map কে মান (Value) অনুযায়ী সর্ট করতে হয়। Java HashMap হলো Java-এর Map ইন্টারফেসের হ্যাশ টেবিল ভিত্তিক ইমপ্লিমেন্টেশন। এটি কী-মান জোড়ার একটি সংগ্রহ।

ধরুন ইনপুট:

Input HashMap: Key = Java, Value = 45 Key = Scala, Value = 20 Key = Mysql, Value = 11 Key = Python, Value = 75

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

The HashMap after sorting is: Key = Mysql, Value = 11 Key = Scala, Value = 20 Key = Java, Value = 45 Key = Python, Value = 75

অ্যালগরিদম

Step 1 - START 
Step 2 - ভেরিয়েবল ডিক্লেয়ার 
Step 3 - মান ডিফাইন 
Step 4 - Map-এর এলিমেন্ট সর্ট করতে 'sort' মেথড ব্যবহার করুন 
Step 5 - মান বের করতে 'getValue' মেথড এবং তুলনা করতে 'compareTo' মেথড ব্যবহার করুন 
Step 6 - HashMap-এ ইটারেট করুন, 'getKey' মেথড দিয়ে মান 'temp'-এ বের করুন। 'temp' রিটার্ন করুন 
Step 7 - ফলাফল প্রদর্শন 
Step 8 - STOP

উদাহরণ ১

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

import java.util.*; 
import java.lang.*; 

public class Demo { 
    public static HashMap sort(HashMap input_map){ 
        List> list = 
            new LinkedList>(input_map.entrySet()); 
        Collections.sort(list, new Comparator>() { 
            public int compare(Map.Entry o1, 
                Map.Entry o2){ 
                return (o1.getValue()).compareTo(o2.getValue()); 
            } 
        }); 
        HashMap temp = new LinkedHashMap(); 
        for (Map.Entry aa : list) { 
            temp.put(aa.getKey(), aa.getValue()); 
        } 
        return temp; 
    } 
    public static void main(String[] args){ 
        HashMap input_map = new HashMap(); 
        input_map.put("Java", 45); 
        input_map.put("Scala", 20); 
        input_map.put("Mysql", 11); 
        input_map.put("Python", 75); 
        System.out.println("The HashMap is defined as:"); 
        for (Map.Entry element : input_map.entrySet()) { 
            System.out.println("Key = " + element.getKey() + ", Value = " + element.getValue()); 
        } 
        Map result_map = sort(input_map); 
        System.out.println("\nThe HashMap after sorting is:"); 
        for (Map.Entry element : result_map.entrySet()) { 
            System.out.println("Key = " + element.getKey() + ", Value = " + element.getValue()); 
        } 
    } 
}

আউটপুট

The HashMap is defined as: 
Key = Java, Value = 45 
Key = Scala, Value = 20 
Key = Mysql, Value = 11 
Key = Python, Value = 75 
The HashMap after sorting is: 
Key = Mysql, Value = 11 
Key = Scala, Value = 20 
Key = Java, Value = 45 
Key = Python, Value = 75

উদাহরণ ২

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

import java.util.*; 
import java.lang.*; 

public class Demo { 
    public static void main(String[] args){ 
        HashMap input_map = new HashMap(); 
        input_map.put("Java", 45); 
        input_map.put("Scala", 20); 
        input_map.put("Mysql", 11); 
        input_map.put("Python", 75); 
        System.out.println("The HashMap is defined as:"); 
        for (Map.Entry element : input_map.entrySet()) { 
            System.out.println("Key = " + element.getKey() + ", Value = " + element.getValue()); 
        } 
        List> list = 
            new LinkedList>(input_map.entrySet()); 
        Collections.sort(list, new Comparator>() { 
            public int compare(Map.Entry o1, 
                Map.Entry o2){ 
                return (o1.getValue()).compareTo(o2.getValue()); 
            } 
        }); 
        HashMap result_map = new LinkedHashMap(); 
        for (Map.Entry aa : list) { 
            result_map.put(aa.getKey(), aa.getValue()); 
        } 
        System.out.println("\nThe HashMap after sorting is:"); 
        for (Map.Entry element : result_map.entrySet()) { 
            System.out.println("Key = " + element.getKey() + ", Value = " + element.getValue()); 
        } 
    } 
}

আউটপুট

The HashMap is defined as: 
Key = Java, Value = 45 
Key = Scala, Value = 20 
Key = Mysql, Value = 11 
Key = Python, Value = 75 
The HashMap after sorting is: 
Key = Mysql, Value = 11 
Key = Scala, Value = 20 
Key = Java, Value = 45 
Key = Python, Value = 75
  1. কম সোর্টের জন্য জাভা প্রোগ্রাম

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

  3. বাইনারি ইনসার্শন সোর্টের জন্য জাভা প্রোগ্রাম

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