জাভা জেনেরিক্স (Java Generics) List, Set, এবং Map এর মতো Collection Framework এর ক্লাস ও ইন্টারফেসে ব্যাপকভাবে ব্যবহৃত হয়। Generics Collections আমাদের টাইপ সেফটি প্রদান করে এবং ডাউনকাস্টিং এড়ায়।
List এর সাথে Generics
List ইন্টারফেস একটি অর্ডারড কালেকশন যা ডুপ্লিকেট আইটেম সাপোর্ট করে। Generics ব্যবহার করলে আমরা নিশ্চিত করতে পারি যে লিস্ট একটি নির্দিষ্ট টাইপের অবজেক্ট গ্রহণ করবে।
উদাহরণ:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> stringList = new ArrayList<>();
stringList.add("Java");
stringList.add("Generics");
stringList.add("Example");
for (String item : stringList) {
System.out.println(item);
}
}
}
আউটপুট:
Java
Generics
Example
বিঃদ্রঃ Generics ব্যবহারের ফলে টাইপ কাস্টিং প্রয়োজন হয় না।
Set এর সাথে Generics
Set একটি আনঅর্ডারড কালেকশন যা ডুপ্লিকেট আইটেম গ্রহণ করে না। Generics ব্যবহার করলে আমরা টাইপ সেফটি নিশ্চিত করতে পারি।
উদাহরণ:
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<Integer> numberSet = new HashSet<>();
numberSet.add(10);
numberSet.add(20);
numberSet.add(30);
for (Integer num : numberSet) {
System.out.println(num);
}
}
}
আউটপুট:
10
20
30
বিঃদ্রঃ এখানে আইটেমগুলো আনঅর্ডারড অবস্থায় প্রিন্ট হতে পারে।
Map এর সাথে Generics
Map একটি key-value পেয়ার কালেকশন, যেখানে প্রতিটি key ইউনিক হয়। Generics ব্যবহার করে আমরা key এবং value উভয়ের টাইপ নির্ধারণ করতে পারি।
উদাহরণ:
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<Integer, String> studentMap = new HashMap<>();
studentMap.put(1, "John");
studentMap.put(2, "Emma");
studentMap.put(3, "Alex");
for (Map.Entry<Integer, String> entry : studentMap.entrySet()) {
System.out.println("ID: " + entry.getKey() + ", Name: " + entry.getValue());
}
}
}
আউটপুট:
ID: 1, Name: John
ID: 2, Name: Emma
ID: 3, Name: Alex
Generics এর মাধ্যমে:
- টাইপ সেফটি: টাইপ নির্ধারণ করে কম্পাইল টাইমে ত্রুটি সনাক্ত করা যায়।
- কোড সরলতা: টাইপ কাস্টিং এর ঝামেলা এড়ানো যায়।
- ডেটা ম্যানেজমেন্ট: টাইপ নির্দিষ্ট করে কাজ সহজ হয়।
List, Set, এবং Map এর সাথে Generics ব্যবহার করলে ডেটা ম্যানিপুলেশন আরও বেশি কার্যকর ও নিরাপদ হয়।
Read more