1) মানচিত্রটি যদি পরিবর্তনযোগ্য হতে পারে:
Collections.emptyMap()
// or, in some cases:
Collections.<String, String>emptyMap()
আপনাকে মাঝে মাঝে ব্যবহার করতে হবে যখন সংকলক স্বয়ংক্রিয়ভাবে কোন ধরণের মানচিত্রের প্রয়োজন তা নির্ধারণ করতে পারে না (এটিকে টাইপ ইনফারেন্স বলা হয় )। উদাহরণস্বরূপ, এর মতো ঘোষিত একটি পদ্ধতি বিবেচনা করুন:
public void foobar(Map<String, String> map){ ... }
খালি ম্যাপটি সরাসরি এটিতে পৌঁছে দেওয়ার সময়, আপনাকে প্রকারটি সম্পর্কে স্পষ্ট করে বলতে হবে:
foobar(Collections.emptyMap()); // doesn't compile
foobar(Collections.<String, String>emptyMap()); // works fine
2) যদি আপনার মানচিত্রটি পরিবর্তন করতে সক্ষম হতে হয় তবে উদাহরণস্বরূপ:
new HashMap<String, String>()
( তেহাব্লানেক্স যেমন উল্লেখ করেছেন )
সংযোজন : আপনার প্রকল্পটি যদি পেয়ারা ব্যবহার করে তবে আপনার নিম্নলিখিত বিকল্পগুলি রয়েছে:
1) অপরিবর্তনীয় মানচিত্র:
ImmutableMap.of()
// or:
ImmutableMap.<String, String>of()
মঞ্জুর, তুলনায় এখানে কোন বড় সুবিধা Collections.emptyMap()
। জাভাডোক থেকে :
এই মানচিত্রটি তুলনামূলকভাবে আচরণ করে এবং সম্পাদন করে এবং Collections.emptyMap()
মূলত আপনার কোডটির ধারাবাহিকতা এবং রক্ষণাবেক্ষণের জন্য পছন্দনীয়।
2) মানচিত্র যা আপনি সংশোধন করতে পারেন:
Maps.newHashMap()
// or:
Maps.<String, String>newHashMap()
Maps
অন্যান্য ধরণের মানচিত্র ইনস্ট্যান্ট করার জন্য অনুরূপ কারখানা পদ্ধতি রয়েছে যেমন যেমন TreeMap
বা LinkedHashMap
।
আপডেট (2018) : জাভা 9 বা আরও নতুনতে, একটি অপরিবর্তনীয় খালি মানচিত্র তৈরি করার জন্য সংক্ষিপ্ততম কোডটি হ'ল:
Map.of()
... জেপ 269 থেকে নতুন সুবিধাযুক্ত কারখানার পদ্ধতিগুলি ব্যবহার করে । 😎