Java তে ArrayList, HashSet, এবং HashMap হলো ডেটা স্ট্রাকচার বা কালেকশন ক্লাস, যা বিভিন্ন ধরনের ডেটা সংরক্ষণ এবং পরিচালনা করতে ব্যবহৃত হয়। এই প্রতিটি ক্লাসের নিজস্ব বৈশিষ্ট্য এবং ব্যবহার পদ্ধতি রয়েছে, যা বিভিন্ন পরিস্থিতিতে সুবিধাজনক হয়।
১. ArrayList
ArrayList হলো Java এর একটি ডায়নামিক অ্যারে যা List ইন্টারফেসের অংশ এবং এটি ইনডেক্স ভিত্তিক। এটি এমন এক ধরনের সংগ্রহ যেখানে একই ধরনের মান ইনডেক্সের মাধ্যমে সংরক্ষণ ও অ্যাক্সেস করা যায়।
বৈশিষ্ট্য:
- ডুপ্লিকেট মান অনুমোদিত।
- ইনডেক্স ভিত্তিক, অর্থাৎ প্রতিটি উপাদানের নির্দিষ্ট অবস্থান রয়েছে।
- ইনসার্ট, অ্যাক্সেস এবং মুছে ফেলা সহজ।
- সাধারণত একক-থ্রেডেড পরিবেশে ব্যবহৃত হয়।
ArrayList ব্যবহার উদাহরণ:
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
// ইনডেক্স এর মাধ্যমে অ্যাক্সেস
System.out.println("Element at index 1: " + list.get(1)); // Output: Banana
// লুপ ব্যবহার করে সমস্ত উপাদান দেখানো
System.out.println("ArrayList elements:");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
আউটপুট:
Element at index 1: Banana
ArrayList elements:
Apple
Banana
Orange
২. HashSet
HashSet হলো Java এর একটি সেট, যা ডুপ্লিকেট মান গ্রহণ করে না এবং Set ইন্টারফেসের অংশ। এটি হ্যাশিং ব্যবহার করে ডেটা সংরক্ষণ করে এবং ইনডেক্স মুক্ত, অর্থাৎ উপাদানগুলোর ইনডেক্স নেই।
বৈশিষ্ট্য:
- ডুপ্লিকেট মান অনুমোদিত নয়।
- অর্ডার সংরক্ষণ করে না, অর্থাৎ উপাদানের সংরক্ষণের ক্রম অপরিবর্তনশীল।
- সাধারণত দ্রুত ইনসার্ট, অ্যাক্সেস এবং মুছে ফেলা সম্ভব।
- হ্যাশিং ব্যবহার করে উপাদান সংরক্ষণ করা হয়।
HashSet ব্যবহার উদাহরণ:
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Apple"); // ডুপ্লিকেট যোগ করার চেষ্টা
set.add("Orange");
System.out.println("HashSet elements:");
for (String fruit : set) {
System.out.println(fruit);
}
}
}
আউটপুট:
HashSet elements:
Banana
Apple
Orange
ব্যাখ্যা: HashSet ডুপ্লিকেট মান গ্রহণ করে না, তাই একাধিক Apple যোগ হলেও কেবল একটি Apple প্রদর্শিত হয়েছে।
৩. HashMap
HashMap হলো একটি কী-ভ্যালু জোড়ার ডেটা স্ট্রাকচার যা Map ইন্টারফেসের অংশ। এটি কী ব্যবহার করে মান সংরক্ষণ করে এবং প্রতিটি কী অনন্য হতে হবে।
বৈশিষ্ট্য:
- ডুপ্লিকেট কী অনুমোদিত নয়, তবে মানে ডুপ্লিকেট থাকতে পারে।
- অর্ডার সংরক্ষণ করে না।
- হ্যাশিং ব্যবহার করে ডেটা দ্রুত খুঁজে পাওয়া যায়।
- একক-থ্রেডেড পরিবেশে ব্যবহৃত হয় এবং থ্রেড নিরাপদ নয়।
HashMap ব্যবহার উদাহরণ:
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 10);
map.put("Banana", 20);
map.put("Orange", 15);
// নির্দিষ্ট কী-এ মান প্রিন্ট করা
System.out.println("Apple count: " + map.get("Apple"));
// সমস্ত কী-ভ্যালু জোড়া দেখানো
System.out.println("HashMap elements:");
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
}
}
আউটপুট:
Apple count: 10
HashMap elements:
Banana: 20
Apple: 10
Orange: 15
ArrayList, HashSet, এবং HashMap এর পার্থক্য
| বৈশিষ্ট্য | ArrayList | HashSet | HashMap |
|---|---|---|---|
| ইন্টারফেস | List | Set | Map |
| ডুপ্লিকেট মান | অনুমোদিত | অনুমোদিত নয় | কীগুলো ডুপ্লিকেট নয়, মানে ডুপ্লিকেট থাকতে পারে |
| অর্ডার | ইনডেক্স ক্রম সংরক্ষণ করা হয় | সংরক্ষণ করা হয় না | সংরক্ষণ করা হয় না |
| অ্যাক্সেস টাইপ | ইনডেক্স মাধ্যমে | সরাসরি হ্যাশিং | কী-এর মাধ্যমে |
| ব্যবহার | ইনডেক্স ভিত্তিক ডেটা স্টোরেজ | ডুপ্লিকেট ছাড়া ডেটা সংরক্ষণ | কী-ভ্যালু জোড়া সংরক্ষণ |
কোনটি কখন ব্যবহার করবেন?
- ArrayList: ইনডেক্স ভিত্তিক অ্যাক্সেস প্রয়োজন হলে এবং ডুপ্লিকেট মান অনুমোদিত হলে।
- HashSet: ডুপ্লিকেট ছাড়া দ্রুত ইনসার্ট এবং অনুসন্ধান প্রয়োজন হলে।
- HashMap: কী-ভ্যালু জোড়া সংরক্ষণ করতে এবং দ্রুত মান খুঁজে পেতে চাইলে।
সারসংক্ষেপ
Java-তে ArrayList, HashSet, এবং HashMap কালেকশন ফ্রেমওয়ার্কের তিনটি প্রধান ক্লাস যা বিভিন্ন ধরনের ডেটা সংরক্ষণ এবং পরিচালনা করতে ব্যবহৃত হয়। ArrayList ইনডেক্স ভিত্তিক একটি তালিকা, HashSet ডুপ্লিকেটবিহীন একটি সেট, এবং HashMap কী-ভ্যালু জোড়া সংরক্ষণ করে। এগুলি প্রোগ্রামে ডেটা সংরক্ষণ, অনুসন্ধান, এবং পরিচালনাকে আরও সহজ এবং কার্যকরী করে।
Read more