থেকে জাভা 1.6 সংগ্রহ ফ্রেমওয়ার্ক ডকুমেন্টেশন :
যে সংগ্রহগুলি কোনো পরিবর্তন অপারেশন (যেমন সমর্থন করি না
add
,remove
এবংclear
) হিসেবে উল্লেখ করা হয় unmodifiable । [...] যে সংগ্রহগুলি অতিরিক্ত গ্যারান্টি দেয় যে সংগ্রহ অবজেক্টে কোনও পরিবর্তন কখনও দৃশ্যমান হবে না তা অপরিবর্তনীয় বলে উল্লেখ করা হয় ।
দ্বিতীয় মানদণ্ড আমাকে কিছুটা বিভ্রান্ত করে। প্রথম সংগ্রহটি আপত্তিযোগ্য, এবং ধরে নেওয়া যায় যে মূল সংগ্রহটি রেফারেন্সটি সরিয়ে দেওয়া হয়েছে, দ্বিতীয় লাইনে উল্লেখ করা পরিবর্তনগুলি কী? এটি কি সংগ্রহে রাখা উপাদানগুলির পরিবর্তনের অর্থ ইলিমেন্টের রাজ্যের কথা উল্লেখ করছে?
দ্বিতীয় প্রশ্ন:
সংগ্রহটি অপরিবর্তনীয় হওয়ার জন্য, কীভাবে নির্দিষ্ট অতিরিক্ত গ্যারান্টি সরবরাহ করা যায়? সংগ্রহের কোনও উপাদানের অবস্থা যদি কোনও থ্রেড দ্বারা আপডেট করা হয়, তবে কি অপরিবর্তনীয়তার পক্ষে যথেষ্ট যে রাজ্যে থাকা সেই আপডেটগুলি অপরিবর্তনীয় সংগ্রহে থাকা থ্রেডটিতে দৃশ্যমান নয়?
সংগ্রহটি অপরিবর্তনীয় হওয়ার জন্য, কীভাবে নির্দিষ্ট অতিরিক্ত গ্যারান্টি সরবরাহ করা যায়?
newCol = oldCol.add("element")
নতুন উপাদান তৈরি করা হবে যা আরও 1 টি উপাদান সহ পুরানোটির অনুলিপি রয়েছে এবং উইলের সমস্ত উল্লেখoldCol
এখনও একই অপরিবর্তিত পুরানো সংগ্রহকে নির্দেশ করবে।