জাভা 9-এ, সংগ্রহ -এ একাধিক কারখানার পদ্ধতি যোগ করা হয়েছে API . এই কারখানা পদ্ধতি ব্যবহার করে, আমরা অপরিবর্তনযোগ্য তৈরি করতে পারি কোডের লাইনের সংখ্যা কমাতে বস্তুর তালিকা, সেট এবং মানচিত্র সংগ্রহ করুন। TheList.of(), Set.of() , Map.of() এবং Map.ofEntries() স্থির কারখানা পদ্ধতি যা অপরিবর্তনীয় তৈরি করার সুবিধাজনক উপায় প্রদান করে সংগ্রহ জাভা 9 এ।
অপরিবর্তনীয় সংগ্রহের সুবিধা
- কম হিপ স্পেস: জাভার আগের সংস্করণে প্রচলিত পদ্ধতির তুলনায় একটি সংগ্রহের ডেটা সঞ্চয় করার জন্য প্রয়োজনীয় স্থান খুবই কম৷
- ডেটাতে দ্রুত অ্যাক্সেস: ডেটা সঞ্চয় করার ওভারহেড হিসাবে এবং Collections.unmodifiable-এ মোড়ানো হ্রাস করা হয়েছে, এখন ডেটা অ্যাক্সেস দ্রুততর হয়। এর মানে হল সামগ্রিক কর্মদক্ষতা বৃদ্ধি করা হয়েছে।
- থ্রেড নিরাপত্তা :অপরিবর্তনীয় সংগ্রহগুলি স্বাভাবিকভাবেই হেড-নিরাপদ . যেহেতু সমস্ত থ্রেড সর্বদা অন্তর্নিহিত ডেটার একই দৃশ্য পায়।
সিনট্যাক্স
List.of(elements...) Set.of(elements...) Map.of(k1, v1, k2, v2)
উদাহরণ
import java.util.Set; import java.util.List; import java.util.Map; public class ImmutableCollectionsTest { public static void main(String args[]) { List<String> stringList = List.of("a", "b", "c"); System.out.println("List values: " + stringList); Set<String> stringSet = Set.of("a", "b", "c"); System.out.println("Set values: " + stringSet); Map<String, Integer> stringMap = Map.of("a", 1, "b", 2, "c", 3); System.out.println("Map values: " + stringMap); } }
আউটপুট
List values: [a, b, c] Set values: [a, b, c] Map values: {a=1, b=2, c=3}