কম্পিউটার

জাভা 9-এ JShell-এ একটি সেট ইন্টারফেস কীভাবে বাস্তবায়ন করবেন?


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]

  1. জাভা 9 এ JavaFX ব্যবহার করে JShell কিভাবে বাস্তবায়ন করবেন?

  2. কিভাবে জাভা 9 এ JShell এ একটি ক্লাস এবং একটি ইন্টারফেস ঘোষণা করবেন?

  3. জাভা 9 এ জেশেলে একটি ব্যতিক্রম কীভাবে পরিচালনা করবেন?

  4. জাভাতে একটি বেনামী অভ্যন্তরীণ শ্রেণী ব্যবহার করে একটি ইন্টারফেস কীভাবে বাস্তবায়ন করবেন?