CodeGym/Java Blog/यादृच्छिक/जावा इंटरफेस म्हणून सेट करा
John Squirrels
पातळी 41
San Francisco

जावा इंटरफेस म्हणून सेट करा

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले
सदस्य
संच म्हणजे फक्त अद्वितीय वस्तूंचा संग्रह. अद्वितीय म्हणजे कोणत्याही दोन वस्तूंचे मूल्य समान असू शकत नाही. सेटच्या अंमलबजावणीवर अवलंबून, ते ऑर्डर केले जाऊ शकते किंवा नाही. Abstract Data Type (ADT) म्हणून Java सेटमध्ये काही प्रमुख ऑपरेशन्स आहेत (जेथे T कोणताही डेटा प्रकार दर्शवतो उदा. int, String किंवा कोणत्याही क्लास ऑब्जेक्ट): इंटरफेस म्हणून जावा सेट - १
  • boolean add(T item): आयटम सेटमध्ये यशस्वीरीत्या जोडल्यास सत्य मिळवते आणि आयटम आधीपासून सेटमध्ये असल्यास असत्य मिळवते.
  • boolean remove(T item): आयटम सेटमधून यशस्वीरित्या काढून टाकल्यास सत्य आणि अन्यथा खोटे (आयटम सेटमध्ये नसल्यास) मिळवते.
  • boolean contains(T item): आयटम सेटमध्ये असल्यास सत्य आणि अन्यथा असत्य मिळवते.
  • boolean isEmpty(): संच रिकामा असल्यास सत्य आणि अन्यथा असत्य मिळवते.
Java मधील संचांमध्ये सुंदर स्व-स्पष्टीकरणात्मक कार्य स्वाक्षरी आहेत (जसे पाहिजेत). तुम्ही सेटमध्ये दोन समान आयटम जोडल्यास, फक्त पहिली जोडलेली आयटम सेटमध्ये असेल. आयटम प्रथम काढून टाकल्याशिवाय समान आयटम जोडण्याचे सर्व त्यानंतरचे प्रयत्न दुर्लक्षित केले जातील. सर्वात सामान्यपणे वापरल्या जाणार्‍या सेट ऑपरेशन्सपैकी एक म्हणजे आयटम दिलेल्या सेटमध्ये आहे की नाही हे तपासणे. फंक्शन contains()यासाठी उत्तम रनटाइम देते: O(1) किंवा O(log n) वेळेची जटिलता वापरलेली अंमलबजावणी a HashSetकिंवा a आहे यावर अवलंबूनTreeSet, अनुक्रमे. तर संच कशासाठी वापरला जाऊ शकतो? बरं, तुम्हाला अनेक वेगळ्या वस्तूंचा मागोवा ठेवण्याची आवश्यकता असल्यास--जसे की आयडी, नावे किंवा इतर अद्वितीय अभिज्ञापक--आणि अशा संग्रहात एखादी वस्तू अस्तित्वात आहे का ते वारंवार तपासा, तर संच ही एक चांगली निवड आहे. येथे एका संचाच्या वापराचे उदाहरण आहे: कल्पना करा की तुमच्याकडे Studentदिलेल्या वर्गातील सर्व विद्यार्थ्यांचे प्रतिनिधित्व करणाऱ्या वस्तूंची सूची आहे. Studentया वर्गासाठी प्रत्येकाचे वेगळे नाव (स्ट्रिंग) आणि ग्रेड (इंट) असू शकते. जर तुम्हाला सर्व A विद्यार्थ्यांची यादी (ग्रेड >=90) वारंवार पहायची असेल, तर ही यादी लूप करणे आणि प्रत्येक वेळी प्रत्येक विद्यार्थ्याचे ग्रेड तपासणे कंटाळवाणे होईल. त्याऐवजी, तुम्ही HashSetस्ट्रिंगचा वापर करू शकता जे वर्गातील सर्व A विद्यार्थ्यांचा मागोवा ठेवते, जसे की:
  • प्रत्येक वेळी विद्यार्थ्याचे ग्रेड अपडेट केले जातात तेव्हा, तुम्ही फक्त विद्यार्थ्याचा नवीन ग्रेड 90 पेक्षा मोठा आहे की नाही हे तपासू शकता.
    • तसे असल्यास, त्यांना वापरून A विद्यार्थ्यांच्या संचामध्ये जोडाadd()
      • जर ते आधीच ए विद्यार्थी असतील तर या ऑपरेशनकडे दुर्लक्ष केले जाईल.
    • नसल्यास, त्यांना A वापरून विद्यार्थ्यांच्या संचातून काढून टाकाremove()
      • जर ते यावेळी A विद्यार्थी नसतील तर या ऑपरेशनकडे दुर्लक्ष केले जाईल.
अशा प्रणालीसह, तुमच्याकडे तुमच्या वर्गातील सर्व 'अ' विद्यार्थ्यांचा नेहमीच अद्ययावत संच असेल. जॉनी ऍपलसीड तुमच्या वर्गात चांगले काम करत आहे की नाही हे तुम्हाला तपासायचे असल्यास, तुम्ही contains(“Johnny Appleseed”)सेटवर कॉल करून ते सहज करू शकता. अर्थात, हे एका संचाच्या वापराच्या केसचे फक्त एक उदाहरण आहे आणि A विद्यार्थ्यांचा मागोवा ठेवण्याची ही विशिष्ट समस्या इतर मार्गांनी सोडवली जाऊ शकते.

अंमलबजावणी: Java मधील हॅशसेट आणि Java TreeSet उदाहरणे

HashSetJava मध्ये आणि Java मध्ये दोन्ही TreeSetयेतात java.utils package. आपण त्यांना याप्रमाणे आयात करू शकता:
// imports everything from Java's util package, including HashSet and TreeSet
import java.util.*;
किंवा
import java.util.HashSet; // imports only the Java HashSet
import java.util.TreeSet; // imports only the Java TreeSet
Java HashSetआणि Java मधील मुख्य फरक TreeSetम्हणजे TreeSetक्रमवारी लावलेली आहे, तर HashSetनाही. म्हणूनच की TreeSetऑपरेशन्ससाठी O(log n) वेळ जटिलता आहे, तर HashSetO(1) किंवा स्थिर वेळ जटिलता आहे; TreeSetनेहमी सुव्यवस्था राखली पाहिजे . आधी नमूद केलेल्या की सेट ऑपरेशन्स व्यतिरिक्त, Java HashSetआणि TreeSetदोन्हीमध्ये काही इतर उपयुक्त कार्ये आहेत:
  • void clear(): सर्व वस्तूंचा संच साफ करते.
  • int size(): सेटमधील ऑब्जेक्ट्सची संख्या मिळवते.
  • Object clone(): सेटची उथळ प्रत परत करते.
  • Iterator iterator(): पहिल्या ऑब्जेक्टपासून सुरू होऊन सेटवर एक पुनरावृत्ती करणारा परत करतो.
"अ विद्यार्थ्यांची यादी" उदाहरणामध्ये या फंक्शन्ससाठी वापर शोधण्याची तुम्ही कल्पना करू शकता: size()तुमच्याकडे किती 'A' विद्यार्थी आहेत हे पाहायचे असल्यास किंवा clear()सेमिस्टरच्या शेवटी यादी साफ करायची असल्यास तुम्ही कॉल करू शकता. clone()तुम्ही ठराविक वेळी A विद्यार्थ्यांच्या यादीचा क्लोन तयार करण्यासाठी आणि ठेवण्यासाठी वापरू शकता, जसे की मध्यावधी अहवालांदरम्यान (अशा प्रकारे क्लोन मूळ अहवालासह अद्ययावत राहत नाही) .

Java HashSet उदाहरण

Java मध्ये वापरल्या जाणार्‍या s HashSetचे एक लहान उदाहरण येथे आहे :String
import java.util.HashSet;
class HashSetDemo {
    public static void main(String[] args)
    {
	  // create a HashSet of Strings
        HashSet<String> hs = new HashSet<String>();

        // Add elements using the add() method
        hs.add("Collin");
	  hs.add("Bob");
 	  hs.add("Abigail");

        // Duplicates will ignored; this statement is useless
        hs.add("Collin");


        System.out.println(hs);
	  System.out.println("Bob is in the set (T/F): " + hs.contains("Bob"));
  System.out.println("Max is in the set (T/F): " + hs.contains("Max"));


    }
}
आउटपुट: --------
[Collin, Bob, Abigail]
Bob is in the set (T/F): true
Max is in the set (T/F): false

Java TreeSet उदाहरण

जावा सेट उदाहरण तुम्हाला सिद्धांत समजण्यास मदत करू शकते. Java मध्ये वापरल्या जाणार्‍या s TreeSetचे छोटे उदाहरण येथे आहे :String
import java.util.TreeSet;
class TreeSetDemo {
    public static void main(String[] args)
    {
	  // create a TreeSet of Strings
        TreeSet<String> ts = new TreeSet<String>();

        // Add elements using the add() method.
        ts.add("Collin");
	  ts.add("Bob");
 	  ts.add("Abigail");

        // Duplicates will ignored; this statement is useless
        ts.add("Collin");

        // printing the set prints the names in alphabetical order!
        System.out.println(ts);

	  System.out.println("Bob is in the set (T/F): " + ts.contains("Bob"));
  System.out.println("Max is in the set (T/F): " + ts.contains("Max"));
  System.out.println("Size of the set: " + ts.size());
 	  ts.clear();
	  System.out.println("Size of the set after clear(): " + ts.size());


    }
}
आउटपुट: -------
[Abigail, Bob, Collin]
Bob is in the set (T/F): true
Max is in the set (T/F): false
Size of the set: 3
Size of the set after clear(): 0
इतकंच! आशा आहे की याने मदत केली 😊
टिप्पण्या
  • लोकप्रिय
  • नवीन
  • जुने
टिप्पणी करण्यासाठी तुम्ही साईन इन केलेले असणे आवश्यक आहे
या पानावर अजून कोणत्याही टिप्पण्या नाहीत