जब आप Java में arrays के साथ काम कर रहे होते हैं, तो आप ऐसी स्थिति का सामना कर सकते हैं जहां आप जांचना चाहते हैं कि कोई array किसी विशेष मान को समाहित करता है या नहीं।
उदाहरण के लिए, यदि आप इस सीजन में अपनी बर्ड-वॉचिंग प्रगति को ट्रैक करने वाला प्रोग्राम बना रहे हैं, तो आप एक फंक्शन बनाना चाह सकते हैं जो आपको जांचने की अनुमति देता है कि क्या आपने पहले से ही पक्षी की किसी विशेष प्रजाति को देखा है।
कुछ दृष्टिकोण हैं जिनका उपयोग आप यह जांचने के लिए कर सकते हैं कि array किसी विशेष मान को समाहित करता है या नहीं। यह ट्यूटोरियल उदाहरणों के साथ चर्चा करेगा कि आप कैसे जांच सकते हैं - for-each लूप, contains(), और stream() का उपयोग करके - यदि आपके Java कोड में array एक निश्चित मान को समाहित करता है।
इस ट्यूटोरियल को पढ़ने के बाद, आप Java प्रोग्राम में array में किसी विशेष मान को समाहित करता है या नहीं, यह जांचने में विशेषज्ञ होंगे।
Java में Arrays
Java में, arrays कंटेनर हैं जो एक ही प्रकार के डेटा को रखते हैं। उदाहरण के लिए, एक array आपके द्वारा इस वर्ष आपके पिछवाड़े बर्ड वॉचिंग में देखी गई 14 पक्षी प्रजातियों के नामों की सूची रख सकता है। ऐसा array 14 स्ट्रिंग मानों को समाहित करेगा।
Arrays एक महत्वपूर्ण डेटा प्रकार हैं क्योंकि वे डेवलपर्स को एक वेरिएबल में बड़ी संख्या में मान स्टोर करने की अनुमति देते हैं। यह उन मानों में से प्रत्येक को अलग-अलग वेरिएबल्स के रूप में स्टोर करने की तुलना में अधिक कुशल है, और यह प्रोग्राम की पठनीयता को बनाए रखने में मदद करता है।
यहां Java में array का एक उदाहरण है:
String[] bagelShops; bagelShops = new String[4];
इस उदाहरण में, हमने bagelShops नामक एक array घोषित किया जो स्ट्रिंग मान स्टोर करता है। फिर हमने परिभाषित किया कि bagelShops वेरिएबल चार स्ट्रिंग्स स्टोर करने में सक्षम होना चाहिए। यहां वह कोड है जिसका उपयोग हम इस array को चार बैगल स्टोर्स असाइन करने के लिए करेंगे:
String[] bagelShops = {"Absolute Bagels", "Bo's Bagels", "Brooklyn Bagel and Coffee Company", "Forest Hills Bagel"};
लेकिन हम यह जांचने के लिए क्या कर सकते हैं कि array किसी विशेष मान को समाहित करता है या नहीं? उदाहरण के लिए, क्या होगा यदि हम जांचना चाहें कि Forest Hills Bagel शॉप हमारे पसंदीदा बैगल स्टोर्स की सूची में थी? आइए कुछ दृष्टिकोणों में तल्लीन करें जिनका हम उपयोग कर सकते हैं।
for-each लूप का उपयोग करना
for-each लूप्स, जिन्हें enhanced for लूप्स के रूप में भी जाना जाता है, for loop का एक रूप है जिसका उपयोग आप array या कलेक्शन में सभी आइटम्स के माध्यम से लूप करने के लिए कर सकते हैं। उदाहरण के लिए, आप एक array के माध्यम से इटरेट करने के लिए for-each लूप का उपयोग कर सकते हैं जो कॉइन कलेक्शन में सभी कॉइन्स को स्टोर करता है।
यह जांचने के लिए कि array किसी विशेष मान को समाहित करता है या नहीं, हम for लूप का उपयोग कर सकते हैं। यह for लूप array में हर आइटम के माध्यम से इटरेट करेगा और जांचेगा कि प्रत्येक आइटम उस आइटम के बराबर है या नहीं जिसे हम खोज रहे हैं।
मान लीजिए हमारे पास न्यूयॉर्क शहर में अपने पसंदीदा बैगल शॉप्स की सूची है और हम जांचना चाहते हैं कि Absolute Bagels सूची में है या नहीं। हम इस सरल लूप का उपयोग करके ऐसा कर सकते हैं:
class Main { public static void main(String[] args) { String[] bagelShops = {"Absolute Bagels", "Bo's Bagels", "Brooklyn Bagel and Coffee Company", "Forest Hills Bagel"}; String shopToFind = "Absolute Bagels"; boolean found = false; for (String shop : bagelShops) { if (shop == shopToFind) { found = true; break; } } if (found) { System.out.println("Absolute Bagels is on your list of favorite bagel stores!"); } else { System.out.println("Absolute Bagels is not on your list of favorite bagel stores."); } }
हमारा कोड लौटाता है:
Absolute Bagels is on your list of favorite bagel stores.
आइए अपने कोड को ब्रेक डाउन करें। पहले हम bagelShops नामक एक array घोषित करते हैं जो NYC में हमारे चार पसंदीदा बैगल शॉप्स को स्टोर करता है।
फिर हम shopToFind नामक एक वेरिएबल घोषित करते हैं और इसे Absolute Bagels मान असाइन करते हैं। यह वह मान है जिसे हम अपने bagelShops array में खोजना चाहते हैं। अगला, हम found नामक एक वेरिएबल घोषित करते हैं, जिसका उपयोग यह ट्रैक करने के लिए किया जाएगा कि Absolute Bagels हमारी सूची में मिला है या नहीं।
अगली पंक्ति पर, हम एक for-each लूप इनिशियलाइज़ करते हैं जो bagelShops सूची में हर आइटम के माध्यम से लूप करता है। हम फिर if स्टेटमेंट का उपयोग यह जांचने के लिए करते हैं कि हमारे bagelShops सूची में प्रत्येक व्यक्तिगत शॉप shopToFind वेरिएबल में स्टोर किए गए मान के बराबर है या नहीं।
यदि स्टेटमेंट true evaluates होता है, तो found को true पर सेट किया जाता है, और for-each लूप एक्जीक्यूट होना बंद कर देता है क्योंकि प्रोग्राम break स्टेटमेंट चलाता है। यदि स्टेटमेंट false evaluates होता है, तो if स्टेटमेंट में कोड नहीं चलता।
हमारे प्रोग्राम के अंत में, यदि found true के बराबर है, तो हमारा कोड कंसोल पर Absolute Bagels is on your list of favorite bagel stores! प्रिंट करेगा; अन्यथा, हमारा कोड कंसोल पर प्रिंट करेगा: Absolute Bagels is not on your list of favorite bagel stores.
हम इस दृष्टिकोण का उपयोग नंबर्स की सूची पर भी कर सकते हैं। इसलिए, यदि हमारे पास नंबर्स की सूची है और हम देखना चाहते हैं कि सूची में कोई विशेष नंबर है या नहीं, तो हम अपने ऊपर के उदाहरण में उपयोग किए गए कोड के समान कोड का उपयोग कर सकते हैं। बेशक, इस मामले में हम स्ट्रिंग मानों के बजाय नंबर्स का उपयोग करेंगे।
contains() मेथड का उपयोग करना
आप Java contains() मेथड का उपयोग करके यह भी जांच सकते हैं कि array किसी विशेष मान को समाहित करता है या नहीं। contains() एक पैरामीटर स्वीकार करता है: वह मान जिसे आप array में खोजना चाहते हैं।
contains() मेथड का उपयोग केवल यह जांचने के लिए किया जा सकता है कि array स्ट्रिंग मान को समाहित करता है या नहीं। यदि आप array में नंबर खोजना चाहते हैं, तो आप इसके बजाय for-each लूप तकनीक का उपयोग करना चाह सकते हैं।
मान लीजिए हमारे पास अपने पसंदीदा बैंड्स की सूची है और हम देखना चाहते हैं कि उस सूची में Beatles है या नहीं। हम ऐसा करने के लिए निम्न कोड का उपयोग कर सकते हैं:
class Main { public static void main(String[] args) { String[] favoriteBands = {"Beatles", "Revivalists", "Jonas Brothers"}; String favoriteToFind = "Beatles"; boolean found = favoriteBands.contains(favoriteToFind); if (found) { System.out.println("Beatles is on your list of favorite bands!"); } else { System.out.println("Beatles is not on your list of favorite bands."); } } }
हमारा कोड लौटाता है:
Beatles is on your list of favorite bands!
आइए अपने कोड को ब्रेक डाउन करें। पहले हम favoriteBands नामक एक array घोषित करते हैं जो हमारे पसंदीदा बैंड्स के नामों की सूची स्टोर करता है। फिर हम favoriteToFind नामक एक वेरिएबल घोषित करते हैं जो उस बैंड का नाम स्टोर करता है जिसे हम खोजना चाहते हैं।
अगली पंक्ति पर, हम contains() का उपयोग यह जांचने के लिए करते हैं कि favoriteBands array favoriteToFind में स्टोर किए गए मान को समाहित करता है या नहीं (जो इस उदाहरण में Beatles है)। हम contains() स्टेटमेंट के परिणाम को found नामक बूलियन को असाइन करते हैं।
यदि found true के बराबर है, तो हमारा कोड कंसोल पर Beatles is on your list of favorite bands! प्रिंट करता है; अन्यथा, हमारा कोड कंसोल पर Beatles is not on your list of favorite bands. प्रिंट करता है।
stream() मेथड का उपयोग करना
Java Arrays पैकेज में arrays के साथ काम करने के लिए उपयोग किए जाने वाले कई फंक्शन्स होते हैं। इन फंक्शन्स में से एक है stream(), जिसका उपयोग आप यह जांचने के लिए कर सकते हैं कि array किसी विशेष मान को समाहित करता है या नहीं। ऐसा करने के लिए आपको stream() फंक्शन के साथ anyMatch() मेथड का उपयोग करना होगा।
मान लीजिए हमारे पास हमारी दोस्त Ada के पसंदीदा TV शोज की सूची है, और हम यह पता लगाना चाहते हैं कि Parks and Recreation उसकी सूची में है या नहीं। हम ऐसा इस कोड का उपयोग करके कर सकते हैं:
import java.util.Arrays; class Main { public static void main(String[] args) { String[] favoriteShows = {"Billions", "Silicon Valley", "Superstore"}; String showToFind = "Parks and Recreation"; boolean found = Arrays.stream(favoriteShows).anyMatch(show -> show.equals(showToFind)); if (found) { System.out.println("Parks and Recreation is on Ada's list of favorite TV shows."); } else { System.out.println("Parks and Recreation is not on Ada's list of favorite TV shows."); } } }
हमारा कोड लौटाता है:
Parks and Recreation is not on Ada's list of favorite TV shows.
आइए अपने कोड को ब्रेक डाउन करें। पहले, हम Java Arrays पैकेज इम्पोर्ट करते हैं। ऐसा करने के लिए, हम कोड का उपयोग करते हैं: import java.util.Arrays;।
अगला, हम favoriteShows नामक एक array घोषित करते हैं। यह array Ada के पसंदीदा TV शोज की सूची स्टोर करता है। फिर हम showToFind नामक एक वेरिएबल घोषित करते हैं जो उस शो का नाम स्टोर करता है जिसे हम ढूंढना चाहते हैं। इस मामले में, हम Parks and Recreation मान को showToFind को असाइन करते हैं।
फिर, हम Arrays.stream() और anyMatch() मेथड्स का उपयोग यह जांचने के लिए करते हैं कि showToFind में स्टोर किया गया मान favoriteShows array में मौजूद है या नहीं। ये मेथड्स true या false मान लौटाते हैं जिसे found बूलियन वेरिएबल को असाइन किया जाता है।
यदि found वेरिएबल true evaluates होता है, तो हमारा प्रोग्राम कंसोल पर Parks and Recreation is on Ada's list of favorite TV shows. प्रिंट करता है। अन्यथा, हमारा प्रोग्राम कंसोल पर Parks and Recreation is not on Ada's list of favorite TV shows. प्रिंट करता है।
निष्कर्ष
जांचना कि array किसी विशेष मान को समाहित करता है या नहीं, Java में एक सामान्य ऑपरेशन है। यह जांचने के लिए तीन मुख्य दृष्टिकोण हैं कि array किसी निश्चित मान को समाहित करता है या नहीं:
- for-each लूप
- contains()
- stream()
इस ट्यूटोरियल ने उदाहरणों का उपयोग करके चर्चा की कि Java में array किसी विशेष मान को समाहित करता है या नहीं, यह कैसे जांचें। अब आपके पास Java array में किसी निश्चित मान को समाहित करता है या नहीं, यह जांचने के लिए प्रोफेशनल डेवलपर की तरह कौशल हैं!