JShell হলো জাভা ৯-এ wprowadিত একটি কমান্ড-লাইন প্রম্পট টুল, যা REPL টুল হিসাবেও পরিচিত। এটি সিম্পল স্টেটমেন্ট ইভ্যালুয়েট করে, এক্সিকিউট করে এবং আউটপুট অবিলম্বে প্রিন্ট করে।
একটি Map ইন্টারফেস key/value জোড়া রূপে এলিমেন্টসের কলেকশন ইমপ্লিমেন্ট করার কনট্র্যাক্ট নির্দিষ্ট করে। Map ইন্টারফেস ইমপ্লিমেন্টকারী জাভা কলেকশন ক্লাসগুলো হলো HashMap, LinkedHashMap, এবং TreeMap।
নিচের কোড স্নিপেটে, HashMap-এর এলিমেন্টগুলো নিশ্চিতভাবে না ইনসারশন অর্ডারে থাকে না সর্টেড অর্ডারে।
স্নিপেট-১
jshell> HashMap<String, Integer> hashMap = new HashMap<>(); hashMap ==> {}
jshell> hashMap.put("Adithya", 101); $2 ==> null
jshell> hashMap.put("Jai", 102); $3 ==> null
jshell> hashMap.put("Chaitanya", 103); $4 ==> null
jshell> hashMap.put("Ravi", 104); $5 ==> null
jshell> hashMap
hashMap ==> {Chaitanya=103, Jai=102, Ravi=104, Adithya=101}
নিচের কোড স্নিপেটে, LinkedHashMap-এর এলিমেন্টগুলো ইনসারশন অর্ডারে সংরক্ষিত থাকে।
স্নিপেট-২
jshell> LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>(); linkedHashMap ==> {}
jshell> linkedHashMap.put("Raja", 101); $8 ==> null
jshell> linkedHashMap.put("Adithya", 102); $9 ==> null
jshell> linkedHashMap.put("Surya", 103); $10 ==> null
jshell> linkedHashMap.put("Vamsi", 104); $11 ==> null
jshell> linkedHashMap
linkedHashMap ==> {Raja=101, Adithya=102, Surya=103, Vamsi=104}
নিচের কোড স্নিপেটে, TreeMap-এর এলিমেন্টগুলো কীগুলোর ন্যাচারাল সর্টেড অর্ডারে সংরক্ষিত থাকে।
স্নিপেট-৩
jshell> TreeMap<String, Integer> treeMap = new TreeMap<>(); treeMap ==> {}
jshell> treeMap.put("Raj", 101); $14 ==> null
jshell> treeMap.put("Pavan", 102); $15 ==> null
jshell> treeMap.put("Arjun", 103); $16 ==> null
jshell> treeMap.put("Manoj", 104); $17 ==> null
jshell> treeMap
treeMap ==> {Arjun=103, Manoj=104, Pavan=102, Raj=101}