Java 9 ফ্যাক্টরি প্রদান করে পদ্ধতি অপরিবর্তনীয় তৈরি করতে তালিকা , সেট , এবং মানচিত্র . এটি খালি তৈরি করতে উপযোগী হতে পারে অথবা খালি নয় সংগ্রহ বস্তু। জাভা 8 এবং পূর্ববর্তী সংস্করণগুলিতে, আমরা সংগ্রহের ক্লাস ইউটিলিটি পদ্ধতিগুলি ব্যবহার করতে পারি যেমন অপরিবর্তনযোগ্যXXX অপরিবর্তনীয় তৈরি করতে সংগ্রহ বস্তু। যদি আমাদের একটি অপরিবর্তনীয় তালিকা তৈরি করতে হয় তাহলে Collections.unmodifiableList() ব্যবহার করুন পদ্ধতি।
এই ফ্যাক্টরি পদ্ধতিগুলি আমাদেরকে অপরিবর্তনীয় সংগ্রহগুলি সহজে শুরু করার অনুমতি দেয় যেগুলি খালি অথবা অ-খালি৷৷
অপরিবর্তনীয় তালিকার সূচনা:
List<Integer> immutableEmptyList = List.of();
উপরে, আমরা একটি খালি, অপরিবর্তনীয় শুরু করেছি তালিকা .
অপরিবর্তনীয় সেটের সূচনা:
Set<Integer> immutableEmptySet = Set.of();
উপরে, আমরা একটি খালি, অপরিবর্তনীয় শুরু করেছি সেট করুন৷ .
অপরিবর্তনীয় মানচিত্রের সূচনা:
Map<Integer, Integer> immutableEmptyMap = Map.of();
উপরে, আমরা একটি খালি, অপরিবর্তনীয় শুরু করেছি মানচিত্র .
উদাহরণ
import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; public class ImmutableCollectionTest { public static void main(String args[]) { List<String> list8 = new ArrayList<String>(); list8.add("INDIA"); list8.add("AUSTRALIA"); list8.add("ENGLAND"); list8.add("NEWZEALAND"); List<String> immutableList8 = Collections.unmodifiableList(list8); immutableList8.forEach(System.out::println); System.out.println(); List<String> immutableList = List.of("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND"); immutableList.forEach(System.out::println); System.out.println(); Set<String> immutableSet = Set.of("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND"); immutableSet.forEach(System.out::println); System.out.println(); Map<String, String> immutableMap = Map.of("INDIA", "India", "AUSTRALIA", "Australia", "ENGLAND", "England", "NEWZEALAND", "Newzealand"); immutableMap.forEach((key, value) -> System.out.println(key + " : " + value)); System.out.println(); } }
আউটপুট
INDIA AUSTRALIA ENGLAND NEWZEALAND INDIA AUSTRALIA ENGLAND NEWZEALAND AUSTRALIA ENGLAND NEWZEALAND INDIA AUSTRALIA : Australia ENGLAND : England NEWZEALAND : Newzealand INDIA : India