Java তে HashMap হল একটি ডেটা স্ট্রাকচার যা key-value pair ভিত্তিতে ডেটা সংরক্ষণ করে। HashMap হলো একটি Map ইন্টারফেসের বাস্তবায়ন যা ডেটাকে একটি নির্দিষ্ট key এর সাথে value যুক্ত করে রাখে। এটি null কী এবং মান অনুমোদিত করে, এবং ডেটা দ্রুত অ্যাক্সেস করতে hashing ব্যবহার করে।
HashMap ডেটা স্টোরেজের মূল সুবিধা:
- অর্ডার garantied নয়: HashMap ফাইলের মধ্যে ডেটা সংরক্ষণ করলে ফাইলের অর্ডার নিশ্চিত করা হয় না।
- O(1) টাইম কমপ্লেক্সিটি: ডেটা অ্যাক্সেস করার সময় সাধারণত সময় O(1) হয়, অর্থাৎ খুব দ্রুত ডেটা পাওয়া যায়।
- Key-Value Pair: HashMap ডেটা একটি কী এবং তার সাথে যুক্ত মান (value) এর মাধ্যমে সংরক্ষণ করে।
Java HashMap Example:
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
// HashMap তৈরি করা (key: String, value: Integer)
HashMap<String, Integer> studentGrades = new HashMap<>();
// HashMap এ ডেটা যোগ করা
studentGrades.put("Alice", 85);
studentGrades.put("Bob", 92);
studentGrades.put("Charlie", 88);
studentGrades.put("David", 95);
// HashMap থেকে ডেটা এক্সট্রাক্ট করা (key এর মাধ্যমে)
System.out.println("Alice's grade: " + studentGrades.get("Alice"));
System.out.println("Bob's grade: " + studentGrades.get("Bob"));
// HashMap এ কোনো কী আছে কিনা চেক করা
if (studentGrades.containsKey("Charlie")) {
System.out.println("Charlie exists in the map with grade: " + studentGrades.get("Charlie"));
}
// HashMap থেকে একটি নির্দিষ্ট কী-ভ্যালু জোড়া মুছে ফেলা
studentGrades.remove("David");
// সমস্ত কী এবং ভ্যালু প্রদর্শন করা
System.out.println("\nUpdated Student Grades:");
for (String key : studentGrades.keySet()) {
System.out.println(key + ": " + studentGrades.get(key));
}
// HashMap এর আকার
System.out.println("\nTotal students: " + studentGrades.size());
}
}
কোড ব্যাখ্যা:
- HashMap তৈরি:
HashMap<String, Integer> studentGrades = new HashMap<>();— এখানে একটি HashMap তৈরি করা হয়েছে যার key হলString(যেমন ছাত্রের নাম), এবং value হলInteger(যেমন ছাত্রের গ্রেড)।
put()মেথড দিয়ে ডেটা যোগ করা:studentGrades.put("Alice", 85);—put()মেথডের মাধ্যমেkey(যেমন, "Alice") এবংvalue(যেমন, 85) যোগ করা হয়েছে।
get()মেথড দিয়ে ডেটা অ্যাক্সেস করা:studentGrades.get("Alice");—get()মেথড ব্যবহার করে একটি নির্দিষ্ট কী থেকে মান পাওয়া যায়।
containsKey()মেথড দিয়ে কী চেক করা:studentGrades.containsKey("Charlie");—containsKey()মেথড দ্বারা চেক করা হয় যে, "Charlie" কীটি HashMap-এ আছে কিনা।
remove()মেথড দিয়ে ডেটা মুছে ফেলা:studentGrades.remove("David");—remove()মেথড ব্যবহার করে "David" কী-টি মুছে ফেলা হয়েছে।
keySet()মেথড দিয়ে সমস্ত কী এবং মান প্রিন্ট করা:studentGrades.keySet()— এই মেথডটি সমস্ত কী সংগ্রহ করে, এবং আমরাget(key)ব্যবহার করে প্রতিটি কী-এর মান অ্যাক্সেস করতে পারি।
size()মেথড দিয়ে HashMap এর আকার পাওয়া:studentGrades.size();—size()মেথড দ্বারা HashMap-এর মোট উপাদানের সংখ্যা পাওয়া যায়।
আউটপুট:
Alice's grade: 85
Bob's grade: 92
Charlie exists in the map with grade: 88
Updated Student Grades:
Alice: 85
Bob: 92
Charlie: 88
Total students: 3
HashMap এর প্রধান বৈশিষ্ট্য:
- Key-Value Pair:
HashMapডেটা key-value pair হিসেবে সংরক্ষণ করে। এখানে key হল ইউনিক এবং value হল তার সাথে সংশ্লিষ্ট মান।
- Order:
HashMapফাইলের মধ্যে সংরক্ষিত ডেটার অর্ডার guaranteed নয়। অর্থাৎ, ডেটা কোনো নির্দিষ্ট ক্রমে থাকবে না।
- Null Key and Values:
HashMapএ একটি null কী এবং অনেকগুলো null ভ্যালু থাকতে পারে। তবে, একটি null কী একটিই থাকতে পারে।
- Performance:
HashMapদ্রুত কাজ করে কারণ এটি hashing ব্যবহার করে ডেটা খুঁজে বের করতে, অ্যাক্সেস করতে এবং সংরক্ষণ করতে।
HashMap এর সুবিধা:
- সহজ অ্যাক্সেস:
HashMapদ্বারা দ্রুতভাবে key এর মাধ্যমে value এক্সেস করা যায়। এটি সাধারণত O(1) টাইম কমপ্লেক্সিটি প্রদান করে। - ডাইনামিক সাইজ:
HashMapফাইলের সাইজ অ্যাড বা রিমুভ করার সাথে সাথে স্বয়ংক্রিয়ভাবে পরিবর্তন হয়। - ফ্লেক্সিবল: এটি null কী এবং ভ্যালু সমর্থন করে এবং ইচ্ছেমতো ডেটা স্টোর করতে পারে।
HashMap হল Java-তে key-value pair ভিত্তিক ডেটা স্টোরেজের একটি শক্তিশালী এবং দক্ষ পদ্ধতি। এটি দ্রুত ডেটা অ্যাক্সেস, মডিফিকেশন, এবং সন্ধান করার জন্য অত্যন্ত কার্যকরী। Java-তে HashMap ব্যবহার করে ডেটার স্থায়ী সংরক্ষণ, অনুসন্ধান এবং সঞ্চালন করা সহজ এবং দ্রুত হয়।
Content added By
Read more