কালেকশনকে ইমিউটেবল (অপরিবর্তনীয়) ভাবে কপি করা
যেকোনো কালেকশনের একটি ইমিউটেবল কপি এক কল (call)-এই তৈরি করুন।
কোড তুলনা
✕ Java 8
List<String> copy =
Collections.unmodifiableList(
new ArrayList<>(original)
);
✓ Java 10+
List<String> copy =
List.copyOf(original);
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
স্মার্ট কপি
সোর্স কালেকশনটি ইমিউটেবল হলে, নতুন করে কপি করার প্রয়োজন হয় না।
এক কলে কাজ শেষ
ম্যানুয়াল ArrayList তৈরি বা র্যাপ করার দরকার নেই।
যেকোনো Collection
যেকোনো Collection ইনপুট হিসেবে গ্রহণ করে—মধ্যবর্তী ArrayList রূপান্তরের দরকার নেই।
পুরনো পদ্ধতি
ম্যানুয়াল কপি + র্যাপ
আধুনিক পদ্ধতি
List.copyOf()
JDK থেকে
10
কঠিনতা
প্রাথমিক
JDK সমর্থন
কালেকশনকে ইমিউটেবল (অপরিবর্তনীয়) ভাবে কপি করা
উপলব্ধ
JDK 10 (মার্চ 2018) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
List.copyOf(), Set.copyOf(), এবং Map.copyOf() বিদ্যমান কালেকশনগুলোর ইমিউটেবল স্ন্যাপশট তৈরি করে। যদি সোর্স কালেকশনটি ইতিমধ্যেই ইমিউটেবল হয়, তবে কোনো নতুন কপি তৈরি করা হয় না।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ