जावा स्टैक एक लास्ट-इन, फर्स्ट-आउट डेटा संरचना है। स्टैक से निकाला गया पहला आइटम वह आइटम होता है जिसे अंतिम बार स्टैक में जोड़ा जाता है। स्टैक डेटा संरचना स्टैक के अंत में नए आइटम जोड़ती है। जावा स्टैक वेक्टर वर्ग का विस्तार करते हैं।
प्रोग्रामिंग में, स्टैक डेटा को स्टोर करने के लिए उपयोग की जाने वाली अंतिम-इन, फ़र्स्ट-आउट डेटा संरचना है। ढेर विभिन्न मामलों में उपयोगी होते हैं। उदाहरण के लिए, यदि आप किसी सूची में समरूपता का परीक्षण करना चाहते हैं या किसी सूची के क्रम को उलटना चाहते हैं, तो आप एक स्टैक का उपयोग कर सकते हैं।
जावा संग्रह ढांचे में स्टैक . नामक एक वर्ग शामिल है जावा में स्टैक बनाने के लिए उपयोग किया जाता है। यह ट्यूटोरियल जावा में स्टैक की मूल बातें, स्टैक कैसे बनाएं, और स्टैक क्लास द्वारा प्रदान की जाने वाली मुख्य विधियों पर चर्चा करेगा। स्टैक वर्ग कैसे काम करता है, इसे सुदृढ़ करने के लिए हम उदाहरणों का उल्लेख करेंगे।
जावा स्टैक
जावा स्टैक तत्वों को लास्ट-इन, फर्स्ट-आउट (LIFO) संरचना में संग्रहीत करता है। इसका मतलब है कि स्टैक के शीर्ष पर जोड़ा गया तत्व स्टैक से निकाला गया पहला तत्व होगा।
प्रोग्रामिंग में स्टैक का एक उदाहरण वेब ब्राउज़र की पृष्ठ नियंत्रण सुविधाओं में होगा। जब आप किसी वेब पेज पर जाते हैं, तो आपका वेब ब्राउज़र उसे विज़िट किए गए पेजों के रिकॉर्ड में जोड़ देता है। यह रिकॉर्ड एक ढेर है।
हर बार जब आप किसी ब्राउज़िंग सत्र के दौरान किसी नए वेब पेज पर जाते हैं, तो आपका ब्राउज़र ब्राउज़िंग स्टैक में एक नई प्रविष्टि जोड़ता है। यदि आप अपने द्वारा देखे गए अंतिम पृष्ठ पर वापस जाना चाहते हैं (पिछली बार ), आपका ब्राउज़र सबसे हाल की प्रविष्टि को पहले स्टैक से हटा देगा (फर्स्ट-आउट ) यहाँ एक तालिका है जो एक उदाहरण स्टैक दिखाती है:
साइट का नाम |
google.com |
nytimes.com |
careerkarma.com |
यह हमारा ब्राउज़िंग इतिहास स्टैक है। हम वर्तमान में google.com मुख्य पृष्ठ पर हैं। google.com पेज से पहले, हम न्यूयॉर्क टाइम्स . पर थे मुख्य पृष्ठ। इससे पहले, हम करियर कर्म मुख्य पृष्ठ पर थे।
google.com ढेर के शीर्ष पर है। google.com साइट वह पहला आइटम होगा जिसे हमारा ब्राउज़र स्टैक से हटाता है। ऐसा तब होता है जब हम अपने द्वारा देखे गए अंतिम पृष्ठ पर वापस जाने के लिए बैक एरो बटन दबाते हैं।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
कार्रवाई में ढेर का एक और उदाहरण किताबों का ढेर है। (एक स्टैक के बारे में सोचें पुस्तकों का!) यदि आप पुस्तकों के ढेर को देखना चाहते हैं, तो आप शीर्ष पुस्तक से नीचे जाएंगे। आपके द्वारा स्टैक में जोड़ी गई अंतिम पुस्तक वह पहली पुस्तक होगी जिसे आप देखेंगे—दूसरे शब्दों में, LIFO।
जब आप स्टैक के साथ काम कर रहे होते हैं, तो सूची में अंतिम आइटम को स्टैक के शीर्ष पर माना जाता है . ऊपर से हमारी वेबसाइट के उदाहरण का उपयोग करने के लिए, google.com हमारे द्वारा देखी गई सबसे हाल की साइट थी, इसलिए यह हमारे स्टैक में सबसे ऊपर है।
जावा स्टैक बनाएं
जावा में स्टैक बनाने से पहले, हमें java.util.Stack पैकेज आयात करना होगा। यह पैकेज स्टैक डेटा संरचना को संग्रहीत करता है जिसका उपयोग हम इस ट्यूटोरियल में करेंगे।
यहां स्टैक डेटा संरचना को आयात करने का तरीका बताया गया है:
import java.util.Stack;
अब जब हमने स्टैक पैकेज आयात कर लिया है, तो हम जावा स्टैक बना सकते हैं। जावा में स्टैक बनाने के लिए हम यहां सिंटैक्स का उपयोग करते हैं:
स्टैक<डेटा टाइप> स्टैक_नाम =नया स्टैक<>();
जावा स्टैक सिंटैक्स के मुख्य घटक यहां दिए गए हैं:
- ढेर हमारे प्रोग्राम को बताता है कि हम एक स्टैक घोषित करना चाहते हैं।
- डेटा प्रकार हमारा स्टैक किस प्रकार का डेटा स्टोर करेगा।
- stack_name हमारे ढेर का नाम है।
- नया स्टैक<>(); एक नया जावा स्टैक प्रारंभ करता है।
अगर हम books
. नामक स्टैक बनाना चाहते हैं जो स्ट्रिंग्स को स्टोर करता है, हम इस कोड का उपयोग कर सकते हैं:
स्टैक<स्ट्रिंग> किताबें =नया स्टैक<>();
हमने एक नया ढेर बनाया है। यह स्टैक डेटा को लास्ट-इन, फ़र्स्ट-आउट क्रम में संग्रहीत करता है।
डेक क्लास पर एक नोट
यह ध्यान देने योग्य है कि कुछ प्रोग्रामर जावा में स्टैक के बजाय डेक क्लास का उपयोग करना पसंद करते हैं।
Deques डबल-एंडेड कतारें हैं। एक स्टैक पर एक डेक का लाभ यह है कि आप एक डेक के दोनों सिरों से आइटम जोड़ और हटा सकते हैं। आप इसे स्टैक के साथ नहीं कर सकते।
यदि आप स्टैक-विशिष्ट विधियों (नीचे चर्चा की गई) का उपयोग करते हैं, तो आपको अपने कोड में स्टैक क्लास का उपयोग करने के लिए प्रतिबद्ध होना होगा। इससे प्रोग्राम को स्केल करना और मुश्किल हो सकता है। उस ने कहा, जावा में स्टैक के अभी भी कई तरह के उपयोग हैं।
जावा स्टैक तरीके
जावा स्टैक क्लास में कई विधियाँ शामिल हैं जिनका उपयोग आप स्टैक के भीतर संग्रहीत डेटा में हेरफेर करने के लिए कर सकते हैं। इन विधियों को निम्नलिखित दो श्रेणियों में विभाजित किया जा सकता है:
- वेक्टर वर्ग से विरासत में मिली स्टैक विधियां। स्टैक ऑफ़र के पहले तरीके वे हैं जो वेक्टर वर्ग से विरासत में मिले हैं। यदि आप इन विधियों के बारे में अधिक जानना चाहते हैं, तो "जावा वेक्टर क्लास" पर शोध करें।
- स्टैक विधियां जो स्टैक के लिए अद्वितीय हैं। स्टैक पांच अतिरिक्त विधियाँ भी प्रदान करता है जो कक्षा के लिए अद्वितीय हैं। हम नीचे उनकी चर्चा करेंगे। वे हैं:
- पुश ()
- पॉप ()
- पीक करें ()
- खाली ()
- खोज ()
पुश () और पॉप () ऑपरेशन यकीनन सबसे अधिक उपयोग किए जाते हैं। वे आपको क्रमशः एक स्टैक से आइटम जोड़ने और निकालने देते हैं।
जावा स्टैक में आइटम जोड़ें:पुश ()
पुश () विधि जावा स्टैक में एक आइटम जोड़ती है।
पुश () एक पैरामीटर स्वीकार करता है:वह आइटम जिसे आप अपने स्टैक में जोड़ना चाहते हैं। उदाहरण के लिए, मान लीजिए कि हम एक स्टैक बना रहे हैं जो सभी किताबों के शीर्षक को लाइब्रेरी के फिक्शन सेक्शन में स्टोर करता है। हम इस कोड का उपयोग स्टैक में पहले तीन पुस्तक शीर्षक जोड़ने के लिए कर सकते हैं:
import java.util.Stack;class AddBooks{ public static void main(String[] args) { StackBooks =new Stack<>(); किताबें.पुश ("गौरव और पूर्वाग्रह"); किताबें। पुश ("उन्नीस अस्सी-चार"); किताबें.पुश ("द ग्रेट गैट्सबी"); System.out.println (किताबें); }}पूर्व> हमारा कोड लौटाता है:
[प्राइड एंड प्रेजुडिस, उन्नीस एटी-फोर, द ग्रेट गैट्सबी]सबसे पहले, हम जावा स्टैक मॉड्यूल आयात करते हैं। फिर हम एक वर्ग घोषित करते हैं—जिसे AddBooks . कहा जाता है —जो हमारे प्रोग्राम के लिए कोड को स्टोर करता है।
अगली पंक्ति में, हम एक नया स्टैक शुरू करते हैं—जिसे किताबें . कहा जाता है — जो स्ट्रिंग मानों को संग्रहीत कर सकता है। फिर हम पुश () . का उपयोग करते हैं हमारे स्टैक में तीन पुस्तकों के शीर्षक जोड़ने की विधि:गौरव और पूर्वाग्रह , उन्नीस चौरासी , और द ग्रेट गैट्सबी . अंत में, हम अपनी पुस्तकों . में पुस्तक के शीर्षक का प्रिंट आउट लेते हैं कंसोल पर स्टैक करें।
जावा स्टैक से आइटम निकालें:पॉप ()
pop()
विधि स्टैक के शीर्ष से एक तत्व को हटा देती है। यह विधि उस तत्व को लौटाती है जिसे आपने स्टैक से हटाया था।मान लीजिए कि हम अपने स्टैक से द ग्रेट गैट्सबी . के लिए प्रविष्टि को हटाना चाहते हैं , जो हमारे द्वारा दर्ज किया गया अंतिम पुस्तक शीर्षक था। हम इस कार्य को पूरा करने के लिए उपरोक्त हमारे कार्यक्रम में निम्नलिखित कोड जोड़ सकते हैं:
क्लास रिमूवबुक्स {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {स्टैक <स्ट्रिंग> किताबें =नया स्टैक <> (); किताबें.पुश ("गौरव और पूर्वाग्रह"); किताबें। पुश ("उन्नीस अस्सी-चार"); किताबें.पुश ("द ग्रेट गैट्सबी"); स्ट्रिंग हटाई गई_बुक =किताबें.पॉप (); System.out.println ("पुस्तकें:" + पुस्तकें); System.out.println ("हटाई गई किताब:" + हटाई गई_बुक); }}पूर्व>हमारा कोड लौटाता है:
किताबें:[प्राइड एंड प्रेजुडिस, उन्नीस एटी-फोर]हटाई गई किताब:द ग्रेट गैट्सबीइस उदाहरण में, हमारा कोड स्टैक के शीर्ष पर मौजूद आइटम को हटा देता है।
स्टैक के शीर्ष पर आइटम द ग्रेट गैट्सबी है। फिर, हमारा प्रोग्राम किताबें: . से पहले किताबों की संशोधित सूची का प्रिंट आउट लेता है कंसोल को। हटाई गई पुस्तक का शीर्षक निकाली गई पुस्तक: . से पहले है कंसोल पर भी प्रदर्शित होता है।
स्टैक में पहली वस्तु प्राप्त करें:झांकना ()
जब आप स्टैक के साथ काम कर रहे हों, तो आप स्टैक के शीर्ष पर आइटम को पुनः प्राप्त करना चाह सकते हैं। यहीं से नज़र () विधि आती है। पीक () कोई पैरामीटर स्वीकार नहीं करता है। यह दिखाता है स्टैक के शीर्ष पर और वह आइटम लौटाता है जो उसे मिलता है।
मान लीजिए कि हम यह पता लगाना चाहते हैं कि हमारे स्टैक में सबसे ऊपर कौन सा आइटम है, अब जबकि हमने द ग्रेट गैट्सबी को हटा दिया है। . ऐसा करने के लिए हम निम्नलिखित कोड का उपयोग कर सकते हैं:
आयात करें किताबें.पुश ("गौरव और पूर्वाग्रह"); किताबें। पुश ("उन्नीस अस्सी-चार"); स्ट्रिंग टॉप_बुक =किताबें.पीक (); System.out.println ("स्टैक के शीर्ष पर बुक करें:" + top_book); }}पूर्व>हमारा कोड लौटाता है:
स्टैक के शीर्ष पर बुक करें:उन्नीस अस्सी-चार।हमारे ढेर में दो आइटम हैं। उन्नीस चौरासी स्टैक के शीर्ष पर है, इसलिए जब हम पीक () . का उपयोग करते हैं विधि, हमारा कार्यक्रम उस पुस्तक का शीर्षक लौटाता है।
जांचें कि क्या कोई स्टैक खाली है:खाली ()
खाली () विधि निर्धारित करती है कि स्टैक खाली है या नहीं।
उदाहरण के लिए, मान लें कि हम जांचना चाहते हैं कि हमारी किताबें ढेर खाली है। हम अपने स्टैक में डेटा के साथ खेल रहे हैं। अब हम सुनिश्चित नहीं हैं कि स्टैक में और पुस्तक शीर्षक हैं या नहीं।
हम निम्नलिखित कोड का उपयोग यह जांचने के लिए कर सकते हैं कि हमारा स्टैक खाली है या नहीं:
import java.util.Stack;class CheckBooksEmpty {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {स्टैक <स्ट्रिंग> किताबें =नया स्टैक <> (); किताबें.पुश ("गौरव और पूर्वाग्रह"); किताबें। पुश ("उन्नीस अस्सी-चार"); स्ट्रिंग is_empty =Books.empty (); System.out.println ("क्या किताब का ढेर खाली है?" + is_empty); }}पूर्व>हमारा कोड लौटाता है:
क्या किताब का ढेर खाली है? झूठाहमारी किताबें स्टैक में दो मान होते हैं, इसलिए यह खाली नहीं है। इस प्रकार, books.empty() रिटर्न:गलत।
तत्व की खोज करें:खोज ()
खोज () विधि स्टैक में किसी तत्व की खोज करती है।
खोज () एक पैरामीटर स्वीकार करता है:उस आइटम का नाम जिसके लिए आप खोजना चाहते हैं। यह स्टैक में उस आइटम की स्थिति लौटाता है।
मान लीजिए हम गौरव और पूर्वाग्रह . की स्थिति का पता लगाना चाहते हैं हमारी किताब के शीर्षक ढेर में। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:
आयात करें किताबें.पुश ("गौरव और पूर्वाग्रह"); किताबें। पुश ("उन्नीस अस्सी-चार"); स्ट्रिंग find_book =books.search ("गौरव और पूर्वाग्रह"); System.out.println ("'प्राइड एंड प्रेजुडिस' की स्थिति:" + find_book); }}पूर्व>हमारा कोड लौटाता है:
'गर्व और पूर्वाग्रह' की स्थिति:1.स्टैक में पहले आइटम की स्थिति संख्या होती है 1 ,। क्योंकि गौरव और पूर्वाग्रह स्टैक में पहला आइटम है, हमारा प्रोग्राम 1 लौटाता है।
निष्कर्ष
जावा स्टैक क्लास का उपयोग LIFO संरचना के साथ स्टैक बनाने के लिए किया जाता है। इस ट्यूटोरियल ने जावा स्टैक की मूल बातें और आप एक स्टैक कैसे बना सकते हैं, इस पर चर्चा की। हमने स्टैक की सामग्री को पुनः प्राप्त करने और उसमें हेरफेर करने के लिए उपयोग की जाने वाली पांच विधियों के बारे में भी बात की।
अब आप एक पेशेवर जावा डेवलपर की तरह ढेर के साथ काम करने के लिए आवश्यक ज्ञान से लैस हैं। आप हमारी जावा कैसे सीखें गाइड पढ़कर जावा प्रोग्रामिंग भाषा के बारे में अधिक जान सकते हैं।