JShell৷ জাভা 9-এ একটি কমান্ড-লাইন টুল যা এক্সপ্রেশন, ক্লাস, ইন্টারফেস, পদ্ধতি এবং ইত্যাদির মতো সাধারণ বিবৃতি কার্যকর করতে ব্যবহৃত হয়।
A সেট ৷ জাভাতে একটি ইন্টারফেস যা অনন্য উপাদান থাকা সংগ্রহের জন্য একটি চুক্তি নির্দিষ্ট করে . যদি object1.equals(object2) সত্য রিটার্ন করে, তাহলে অবজেক্ট1 এবং অবজেক্ট2-এর মধ্যে শুধুমাত্র একটি সেট ইমপ্লিমেন্টেশনে স্থান পায়।
নীচের কোড স্নিপেটে, আমাদের Set.of() ব্যবহার করতে হবে পদ্ধতি সংগ্রহটি Set.of() দ্বারা ফিরে এসেছে পদ্ধতি হল অপরিবর্তনীয় , তাই এটি add() সমর্থন করে না পদ্ধতি আমরা একটি উপাদান যোগ করার চেষ্টা করলে, UnsupportedOperationException থ্রো করে . আমরা যদি একটি হ্যাশসেট তৈরি করতে চাই পরিবর্তে সংগ্রহ, যা add() সমর্থন করে একটি সেটের একটি অনন্য সম্পত্তি পরীক্ষা করার পদ্ধতি। এটি মিথ্যা প্রত্যাবর্তন করে নির্দেশ করে যে একটি ডুপ্লিকেট "Adithya" এন্ট্রি ঢোকানো ব্যর্থ হয়েছে৷
স্নিপেট-1
৷jshell> Set<String> set = Set.of("Adithya", "Chaitanya", "Jai"); set ==> [Jai, Adithya, Chaitanya] jshell> set.add("Adithya"); | java.lang.UnsupportedOperationException thrown: jshell> Set<String> hashSet = new HashSet<>(set); hashSet ==> [Chaitanya, Jai, Adithya] jshell> hashSet.add("Adithya"); $8 ==> false jshell> hashSet hashSet ==> [Chaitanya, Jai, Adithya]
নীচের কোড স্নিপেটে, আমাদের হ্যাশসেট বাস্তবায়ন করতে হবে যে উপাদানগুলি সন্নিবেশের ক্রমে বা সাজানো ক্রমে সংরক্ষণ করা হয় না।
স্নিপেট-2
৷jshell> Set<Integer> numbers = new HashSet<>(); numbers ==> [] jshell> numbers.add(12345); $11 ==> true jshell> numbers.add(1234); $12 ==> true jshell> numbers.add(123); $13 ==> true jshell> numbers.add(12); $14 ==> true jshell> numbers numbers ==> [1234, 12345, 123, 12]
আমি নিচের কোড স্নিপেটে, আমাদের LinkedHashSet বাস্তবায়ন করতে হবে যে উপাদানগুলি সন্নিবেশ ক্রমে সংরক্ষণ করা হয়৷ .
স্নিপেট-3
৷jshell> Set<Integer> numbers1 = new LinkedHashSet<>(); numbers1 ==> [] jshell> numbers1.add(12345); $17 ==> true jshell> numbers1.add(1234); $18 ==> true jshell> numbers1.add(123); $19 ==> true jshell> numbers1.add(12); $20 ==> true jshell> numbers1 numbers1 ==> [12345, 1234, 123, 12] jshell> numbers1.add(123456); $22 ==> true jshell> numbers1 numbers1 ==> [12345, 1234, 123, 12, 123456]
আমি নিচের কোড স্নিপেটে, আমাদের TreeSet বাস্তবায়ন করতে হবে যে উপাদানে বাছাই ক্রমে সংরক্ষণ করা হয় .
স্নিপেট-4
৷jshell> Set<Integer> numbers2 = new TreeSet<>(); numbers2 ==> [] jshell> numbers2.add(12345); $25 ==> true jshell> numbers2.add(1234); $26 ==> true jshell> numbers2.add(123); $27 ==> true jshell> numbers2.add(12); $28 ==> true jshell> numbers2 numbers2 ==> [12, 123, 1234, 12345] jshell> numbers2.add(123456); $30 ==> true jshell> numbers2 numbers2 ==> [12, 123, 1234, 12345, 123456]