Java 9 এ List.of(), Set.of(), এবং Map.of() মেথডগুলি ইমিউটেবল (অপরিবর্তনীয়) কোলেকশন তৈরি করতে সহায়ক হিসেবে যোগ করা হয়েছে। এগুলো immutable কোলেকশন তৈরি করার জন্য সহজ এবং দক্ষ উপায় প্রদান করে, যা একবার তৈরি হলে পরিবর্তন করা যায় না। এই মেথডগুলির মাধ্যমে তৈরি কোলেকশনগুলিতে নতুন উপাদান যোগ করা বা পুরানো উপাদান মুছে ফেলা সম্ভব নয়, সুতরাং এগুলি নিরাপদ এবং স্থিতিশীল।
1. List.of()
List.of() ব্যবহার করে আপনি একটি অপরিবর্তনীয় List তৈরি করতে পারেন। এটি শুধুমাত্র নির্দিষ্ট উপাদানগুলির সাথে একটি List তৈরি করে এবং কোনো পরিবর্তন বা উপাদান যোগ করার অনুমতি দেয় না।
ব্যবহার:
List<String> immutableList = List.of("Apple", "Banana", "Cherry");
// এটি একটি Immutable List, তাই এটি পরিবর্তন করা যাবে না।
System.out.println(immutableList);সীমাবদ্ধতা:
- একটি
Listযা null ধারণ করতে পারে না, তাই এটি শুধুমাত্র বাস্তব উপাদান ধারণ করতে সক্ষম। - একবার তৈরি হলে, এতে কোনো নতুন উপাদান যোগ করা বা পুরানো উপাদান মুছে ফেলা সম্ভব নয়।
2. Set.of()
Set.of() ব্যবহার করে আপনি একটি অপরিবর্তনীয় Set তৈরি করতে পারেন। সেটের গুণগত বৈশিষ্ট্য হলো এটি ডুপ্লিকেট উপাদান সমর্থন করে না, এবং এটি null ধারণ করতে পারে না।
ব্যবহার:
Set<String> immutableSet = Set.of("Red", "Blue", "Green");
// এটি একটি Immutable Set, যা পরিবর্তন করা যাবে না।
System.out.println(immutableSet);সীমাবদ্ধতা:
- কোনো ডুপ্লিকেট উপাদান রাখা যাবে না।
- null উপাদান সমর্থন করা হয় না।
3. Map.of()
Map.of() ব্যবহার করে আপনি একটি অপরিবর্তনীয় Map তৈরি করতে পারেন। এই ম্যাপের মাধ্যমে আপনি key-value পেয়ার সন্নিবেশ করতে পারেন এবং একবার সেট হলে, এটি পরিবর্তন করা যাবে না।
ব্যবহার:
Map<String, Integer> immutableMap = Map.of("Apple", 1, "Banana", 2, "Cherry", 3);
// এটি একটি Immutable Map, যা পরিবর্তন করা যাবে না।
System.out.println(immutableMap);সীমাবদ্ধতা:
- ম্যাপে null key বা value অনুমোদিত নয়।
- একবার তৈরি হলে, এতে কোনো নতুন key-value পেয়ার যোগ করা বা মুছে ফেলা সম্ভব নয়।
List.of(), Set.of(), এবং Map.of() এর সুবিধা
- Immutable Data Structures:
- এগুলোর মাধ্যমে আপনি immutable কোলেকশন তৈরি করতে পারবেন, যা threadsafe এবং নিরাপদ হয়, কারণ এই কোলেকশনগুলির মধ্যে কোনো পরিবর্তন সম্ভব নয়।
- Compact and Concise Code:
- এই মেথডগুলি ডেভেলপারদের জন্য খুবই সংক্ষিপ্ত এবং সহজ কোড লেখার সুযোগ দেয়, কারণ অনেক কোড ছাড়াই ইমিউটেবল কোলেকশন তৈরি করা যায়।
- Performance:
- Immutable কোলেকশনগুলি সাধারণত ভালো পারফরম্যান্স সরবরাহ করে, কারণ এগুলির মধ্যে কোনো পরিবর্তন করার দরকার নেই, এবং এগুলি আরো বেশি অপ্টিমাইজড হতে পারে।
উপসংহার:
List.of(), Set.of(), এবং Map.of() Java 9 থেকে ইমিউটেবল কোলেকশন তৈরি করার জন্য খুবই কার্যকরী এবং শক্তিশালী পদ্ধতি। এগুলির মাধ্যমে আপনি নিরাপদ এবং পরিবর্তনহীন কোলেকশন তৈরি করতে পারেন, যা মাল্টিথ্রেডিং পরিবেশে খুবই উপকারী এবং এটি কোডের পাঠযোগ্যতাও বাড়ায়।
Read more