StringBuilder का उपयोग एक स्ट्रिंग बनाने के लिए किया जाता है जहाँ उपयोगकर्ता रनटाइम के दौरान स्ट्रिंग में परिवर्तन कर सकता है।
स्ट्रिंगबफ़र शब्द "स्ट्रिंग" से आया है, जिसका अर्थ है वर्णों का अनुक्रम, और "बफ़र", जो जानकारी संग्रहीत करने के लिए एक कंटेनर है। एक स्ट्रिंगबफ़र जावा वर्चुअल मशीन जितनी संख्याएँ धारण कर सकता है (JVM) संभाल सकना।
चाबी छीन लेना
- स्ट्रिंगबिल्डर और स्ट्रिंगबफ़र दोनों जावा में वर्ग हैं जिनका उपयोग स्ट्रिंग में हेरफेर करने के लिए किया जाता है।
- स्ट्रिंगबिल्डर तेज़ है लेकिन थ्रेड-सुरक्षित नहीं है, जो इसे एकल-थ्रेडेड अनुप्रयोगों के लिए उपयुक्त बनाता है।
- स्ट्रिंगबफ़र अपनी सिंक्रनाइज़ेशन सुविधा के कारण धीमा है लेकिन थ्रेड-सुरक्षित है, जो इसे बहु-थ्रेडेड अनुप्रयोगों के लिए आदर्श बनाता है।
स्ट्रिंगबिल्डर बनाम स्ट्रिंगबफर
स्ट्रिंगबफ़र गारंटी देता है कि एकाधिक थ्रेड इसे सुरक्षित रूप से एक्सेस कर सकते हैं और एकाधिक थ्रेड किसी भी डेटा असंगति के बिना इसे संशोधित कर सकते हैं। स्ट्रिंगबिल्डर नहीं है धागा-सुरक्षित, इसलिए यह बहु-थ्रेडेड वातावरण के लिए अनुपयुक्त है। स्ट्रिंगबिल्डर पसंदीदा विकल्प है क्योंकि यह तेज़ है।
StringBuilder एक उपयोगी वर्ग है जिसे अधिक आसानी से तार बनाने के लिए डिज़ाइन किया गया है। इसका उपयोग संदेश बनाने, त्रुटि संदेश और डिबगिंग जानकारी जैसी चीज़ों के लिए किया जाता है।
कक्षा निम्नलिखित कार्यान्वित करती है। जाल ढांचा कॉन्टेनेट इंटरफ़ेस और इसमें दो कंस्ट्रक्टर हैं: एक जो एक स्ट्रिंग सरणी को एक तर्क के रूप में लेता है और एक जो टाइप ऑब्जेक्ट के तर्क लेता है।
स्ट्रिंगबफ़र एक प्रकार की स्ट्रिंग है जो बफ़र के बीच में वर्णों को जोड़ने और हटाने का समर्थन करती है। यह कुछ अतिरिक्त कार्यक्षमता वाले पात्रों की एक शानदार श्रृंखला है।
एक प्रोग्रामर को स्ट्रिंग के लिए मेमोरी आवंटित करने की आवश्यकता नहीं है, न ही इसकी आवश्यकता है चिंता किसी बिंदु पर स्ट्रिंग लिखने के बारे में।
तुलना तालिका
तुलना के पैरामीटर | StringBuilder | स्ट्रिंगर |
---|---|---|
पिरोया हुआ सुरक्षित | नहीं | हाँ |
सिंक्रनाइज़ | नहीं | हाँ |
आदर्श | जावा 1.5 | जावा 1.0 |
काम कर रहे | तेज | धीरे |
प्रदर्शन | हाई | निम्न |
धागा | प्रतीक्षा नहीं करता | वेट्स |
स्ट्रिंगबिल्डर क्या है?
एक स्ट्रिंगबिल्डर एक निर्माण है जो डेवलपर को एक स्ट्रिंग (पात्रों का अनुक्रम) कुशलतापूर्वक बनाने की अनुमति देता है।
C# में स्ट्रिंगबिल्डर क्लास जैसी संरचनाओं के समान जावास्क्रिप्ट सारणी। जॉइन () विधि, या जावा स्ट्रिंगजॉइनर क्लास का उपयोग मुख्य रूप से मेमोरी को कम करने के लिए किया जाता है आवंटन और कचरा संग्रहण ओवरहेड।
एक स्ट्रिंगबिल्डर आदिम स्ट्रिंग डेटा प्रकार के अधिकांश उपयोगों को प्रतिस्थापित कर सकता है। स्ट्रिंगबिल्डर के लिए प्राथमिक उपयोग का मामला कई छोटे तारों से लंबी स्ट्रिंग बनाते समय होता है; यह कई छोटे तार बनाने से बचा जाता है।
हालांकि, सभी ज्ञात स्ट्रिंग्स को जोड़ने के लिए स्ट्रिंगबिल्डर का उपयोग करना। स्ट्रिंगबिल्डर थ्रेड-सुरक्षित नहीं है।
यह देखते हुए कि यह वर्ग कितना उपयोगी है, यह आश्चर्यजनक है कि परिणामी स्ट्रिंग के प्रारूप को नियंत्रित करने की अनुमति देने के लिए इसके पास कोई गुण या विधि नहीं है।
स्ट्रिंगबिल्डर एक सरल वर्ग है जो आपको आसानी से स्ट्रिंग बनाने की अनुमति देता है। यह एक स्नोबॉल की तरह है लेकिन इसके साथ क्षमता किसी भी स्थान पर पाठ के टुकड़े जोड़ने के लिए।
स्ट्रिंगबिल्डर का उपयोग स्ट्रिंग संयोजन संचालन के प्रदर्शन को बेहतर बनाने के लिए किया जा सकता है। स्ट्रिंगबिल्डर वर्ग अपरिवर्तनीय नहीं है, जिसका अर्थ है कि इस ऑब्जेक्ट को निचले स्तर के तरीकों जैसे एपेंड (), इंसर्ट (), और रिप्लेस () द्वारा संशोधित किया जा सकता है।
स्ट्रिंगबफ़र क्या है?
एक StringBuffer अपने बफ़र से वर्णों को बदल, जोड़ और निकाल सकता है। स्ट्रिंग बफ़र्स किसी स्ट्रिंग को फ़ाइल में कॉपी करने या उसे अपरकेस में बदलने जैसे कार्यों के लिए उपयोगी होते हैं।
उनका उपयोग गतिशील मेमोरी आवंटन को बदलने और आपके कोड के प्रदर्शन को बेहतर बनाने के लिए किया जा सकता है। स्ट्रिंगबफ़र एक डेटा संरचना है जिसका उपयोग वर्णों के अनुक्रम को संग्रहीत करने के लिए किया जाता है।
स्ट्रिंगबफर शब्द "स्ट्रिंग" से आता है, जिसका अर्थ है वर्णों का अनुक्रम, और "बफर", जो जानकारी संग्रहीत करने के लिए एक कंटेनर है। एक स्ट्रिंगबफर जावा वर्चुअल मशीन (जेवीएम) का समर्थन कर सकता है जितना अधिक हो सकता है।
के साथ एक स्ट्रिंगबफ़र बनाया जाता है निर्माता, एक नया स्ट्रिंगबफ़र(लंबाई)। लंबाई बफ़र में संग्रहीत तत्वों की संख्या को संदर्भित करती है, जिसे ऑब्जेक्ट के निर्माण से पहले इंगित करने की आवश्यकता होती है।
स्ट्रिंगबिल्डर जावा 1.5 से है, लेकिन स्ट्रिंगबफ़र जावा 1.0 से है।
यह देखते हुए कि यह वर्ग कितना उपयोगी है, यह आश्चर्यजनक है कि परिणामी स्ट्रिंग के प्रारूप को नियंत्रित करने की अनुमति देने के लिए इसके पास कोई गुण या विधि नहीं है। स्ट्रिंगबफर थोड़ा धीमा काम करता है।
StringBuilder और StringBuffer के बीच मुख्य अंतर
- StringBuilder थ्रेडेड सुरक्षित नहीं है, लेकिन StringBuffer थ्रेडेड सुरक्षित है।
- StringBuilder सिंक्रनाइज़ नहीं है, लेकिन StringBuffer सिंक्रनाइज़ है।
- स्ट्रिंगबिल्डर जावा 1.5 से है, लेकिन स्ट्रिंगबफ़र जावा 1.0 से है।
- स्ट्रिंगबिल्डर स्ट्रिंगबफर से तेज़ है।
- StringBuilder में प्रदर्शन उच्च है लेकिन StringBuffer में कम है।
- धागे नहीं हैं प्रतीक्षा स्ट्रिंगबिल्डर में लेकिन स्ट्रिंगबफ़र में प्रतीक्षा करें।
अंतिम अद्यतन: 11 जून, 2023
संदीप भंडारी ने थापर विश्वविद्यालय (2006) से कंप्यूटर में इंजीनियरिंग में स्नातक की उपाधि प्राप्त की है। उनके पास प्रौद्योगिकी क्षेत्र में 20 वर्षों का अनुभव है। उन्हें डेटाबेस सिस्टम, कंप्यूटर नेटवर्क और प्रोग्रामिंग सहित विभिन्न तकनीकी क्षेत्रों में गहरी रुचि है। आप उनके बारे में और अधिक पढ़ सकते हैं जैव पृष्ठ.
यह बहुत अच्छा है, लेकिन मैं स्ट्रिंगबफ़र के व्यावहारिक अनुप्रयोग के बारे में कुछ और जानना चाहूंगा।
मैंने बेहतर पढ़ा है, यह संतोषजनक पढ़ा नहीं था।
यह स्ट्रिंगबिल्डर और स्ट्रिंगबफ़र के बारे में एक बहुत ही संपूर्ण विवरण है, यह बहुत जानकारीपूर्ण है!
कक्षाओं का एक दिलचस्प ऐतिहासिक अवलोकन, मैंने इसकी सराहना की।
यह स्पष्टीकरण बहुत बुनियादी है, इससे मुझे स्ट्रिंगबफ़र और स्ट्रिंगबिल्डर के उपयोग को समझने में मदद नहीं मिली।
मैं स्ट्रिंगबिल्डर का उपयोग करने के स्पष्ट फायदे देख सकता हूं, यह निश्चित रूप से मेरा पसंदीदा विकल्प है।