এই আর্টিকেলে আমরা বুঝব কীভাবে একটি 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