Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा 9 में JShell में सेट इंटरफ़ेस को कैसे कार्यान्वित करें?


जेशेल जावा 9 में एक कमांड-लाइन टूल है जिसका उपयोग एक्सप्रेशन, क्लासेस, इंटरफेस, मेथड्स और आदि जैसे सरल स्टेटमेंट्स को निष्पादित करने के लिए किया गया है।

A सेट जावा में एक इंटरफ़ेस है जो अद्वितीय तत्वों . वाले संग्रह के लिए एक अनुबंध निर्दिष्ट करता है . अगर object1.equals(object2) सत्य लौटाता है, तो ऑब्जेक्ट 1 और ऑब्जेक्ट 2 में से केवल एक को सेट कार्यान्वयन में जगह मिलती है।

नीचे दिए गए कोड स्निपेट में, हमें Set.of() . का उपयोग करना होगा तरीका। संग्रह Set.of() . द्वारा लौटाया गया विधि अपरिवर्तनीय . है , इसलिए यह जोड़ें () . का समर्थन नहीं करता है तरीका। यदि हम कोई तत्व जोड़ने का प्रयास कर रहे हैं, तो असमर्थितऑपरेशन अपवाद . फेंकता है . अगर हम एक हैशसेट . बनाना चाहते हैं इसके बजाय संग्रह, जो जोड़ें () . का समर्थन करता है एक सेट की एक अनूठी संपत्ति का परीक्षण करने की विधि। यह झूठी वापसी दर्शाता है कि डुप्लिकेट "आदित्य" प्रविष्टि डालने में विफल रहा है।

स्निपेट-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]


नीचे दिए गए कोड स्निपेट में, हमें HashSet . को लागू करना होगा जिसमें तत्वों को न तो सम्मिलन के क्रम में संग्रहीत किया जाता है और न ही क्रमबद्ध क्रम में।

स्निपेट-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]


मैं नीचे दिए गए कोड स्निपेट में, हमें ट्रीसेट . को लागू करना होगा जिसमें तत्वों को क्रमबद्ध क्रम . में संग्रहीत किया जाता है ।

स्निपेट-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 को कैसे कार्यान्वित करें?

    जेशेल नमूना अभिव्यक्तियों को लागू करने के लिए उपयोग किया जाने वाला एक इंटरैक्टिव टूल है। हम JavaFX . का उपयोग करके JShell को प्रोग्रामेटिक रूप से कार्यान्वित कर सकते हैं एप्लिकेशन तो हमें नीचे सूचीबद्ध जावा प्रोग्राम में कुछ पैकेज आयात करने की आवश्यकता है jdk.jshell.JShell आयात करें; jdk.jshell.Sn

  1. कैसे जावा 9 में JShell में एक अपवाद को संभालने के लिए?

    Java 9 में, JShell एक तेज़ और मैत्रीपूर्ण वातावरण प्रदान करता है जो हमें जावा भाषा सुविधाओं और व्यापक पुस्तकालयों के साथ त्वरित रूप से अन्वेषण, खोज और प्रयोग करने में सक्षम बनाता है। JShell में, अपवादों को मैन्युअल रूप से पकड़ने की आवश्यकता नहीं है। JShell स्वचालित रूप से प्रत्येक अपवाद को पकड़ लेत

  1. जावा में अज्ञात आंतरिक वर्ग का उपयोग करके इंटरफ़ेस को कैसे कार्यान्वित करें?

    एक अनाम आंतरिक वर्ग एक ऐसा वर्ग है जिसका कोई नाम नहीं है, हम इसे सीधे इंस्टेंटेशन लाइन पर परिभाषित करेंगे। उदाहरण निम्नलिखित प्रोग्राम में, हम Anonymous इनर क्लास का उपयोग करके TutorialsPoint इंटरफ़ेस की toString () पद्धति को लागू कर रहे हैं और इसके रिटर्न वैल्यू को प्रिंट कर रहे हैं। interface Tut