Java में ArrayList
tags नाम का ArrayList<String> बनाएँ, tags.add("oak"); फिर tags.add("pine"); बुलाएँ, और सूची को System.out.println(tags); से प्रिंट करें। Shelf.java कंपाइल करें और java Shelf चलाएँ। स्क्रीन पर एक लाइन दिखनी चाहिए: [oak, pine]। वर्ग कोष्ठक और अल्पविराम Java की सूची प्रिंट शैली के हैं। सूची add से बढ़ती है। Import के बाद यही बढ़ती सूची इस पेज की शिक्षा है।
एक सूची जो बढ़ सकती है
Arrays पेज पर String[] घुंघराले कोष्ठक में तय संख्या के स्लॉट रखता था। उस ऐरे पर आप add नहीं बुला सकते थे। ArrayList अलग धारक है। आप इसे खाली बनाते हैं, फिर add से मान डालते हैं। हर add सूची को एक बढ़ाता है। प्रिंट लाइन अभी संग्रहीत सभी मान वर्ग कोष्ठक में, अल्पविराम और स्पेस से अलग दिखाती है।
Shelf.java खोलें। पब्लिक क्लास नाम Shelf रखें ताकि फ़ाइल नाम से मेल खाए। पिछले पेजों के बचे import kit.Bell;, Bell.ring();, package kit; और कोई भी Porch या Lobby कॉल हटाएँ। वे Classes मॉड्यूल की कहानी हैं। यह पेज Collections खोलता है। कोई भी Scanner, nextLine या कीबोर्ड रीड भी हटाएँ। प्रोग्राम टाइप करने का इंतज़ार न करे।
Shelf.java के ऊपरी हिस्से के पास, public class Shelf के ऊपर लिखें:
import java.util.ArrayList;
यह import टाइप ArrayList को छोटे नाम तक लाता है, जैसे import पेज पर import kit.Bell; ने Bell लाया। बिना इस लाइन के javac इस पेज पर छोटा नाम ArrayList नहीं देखता। पैकेज java.util और क्लास ArrayList सावधानी से लिखें। यहाँ import java.util.*; को ज़रूरी न बनाएँ — एक सटीक import काफी है।
main के अंदर सूची बनाएँ:
ArrayList<String> tags = new ArrayList<String>();
कोण कोष्ठक में String है क्योंकि यह पाठ शब्द रखता है। नाम tags ठीक वैसे टाइप करें जैसे रखी फ़ाइल में है। कॉल new ArrayList<String>() खाली सूची ऑब्जेक्ट बनाती है। इस क्षण सूची में शून्य मान हैं। अभी प्रिंट करने पर [] दिखेगा, पर रखी फ़ाइल प्रिंट से पहले शब्द जोड़ती है।
पहले oak, फिर pine, फिर प्रिंट
अपनी लाइन पर tags.add("oak"); बुलाएँ। अगली लाइन पर tags.add("pine"); बुलाएँ। हर कॉल एक उद्धृत शब्द रखती है। स्क्रीन के लिए क्रम मायने रखता है: पहले oak, फिर pine। रखी फ़ाइल में इन्हें अदला-बदली न करें। इस पेज की शिक्षण फ़ाइल में तीसरा शब्द न जोड़ें — वृद्धि और प्रिंट आकार देखने के लिए दो add काफी हैं।
फिर लिखें:
System.out.println(tags);
सूची का नाम ही दें। tags के चारों ओर उद्धरण न लगाएँ। पाठ पथ के रूप में हाथ से System.out.println("oak"); न लिखें — बात यह है कि सूची ऑब्जेक्ट दोनों शब्द लेकर साथ प्रिंट करता है। कंपाइल से पहले फ़ाइल सहेजें।
import java.util.ArrayList;
public class Shelf {
public static void main(String[] args) {
ArrayList<String> tags = new ArrayList<String>();
tags.add("oak");
tags.add("pine");
System.out.println(tags);
}
}
उस फ़ोल्डर से जहाँ Shelf.java है, javac Shelf.java चलाएँ। जब कोष्ठक, घुंघराले कोष्ठक, कोण कोष्ठक और सेमीकोलन मेल खाएँ, javac अपनी कोई लाइन नहीं लिखता। फिर java Shelf चलाएँ — न java Shelf.java, न java ArrayList। रन कमांड से .java हटाएँ। वही क्लास शुरू करें जिसमें main है।
प्रोग्राम एक लाइन प्रिंट कर रुके: [oak, pine]। आपसे टाइप नहीं माँगे। अगर टर्मिनल कीबोर्ड इनपुट का इंतज़ार करे तो किसी पुराने अभ्यास की nextLine कॉल अभी किसी फ़ाइल में है। वह हटाएँ और ArrayList निर्माण, दो add लाइनें, और System.out.println(tags); रखें।
रन एक बार चलाएँ। Java Shelf.main से शुरू होता है। Import पहले ही बता चुका कौन सा ArrayList चाहिए। new लाइन खाली सूची बनाती है। पहला add oak रखता है। दूसरा add pine रखता है। प्रिंट लाइन सूची से सामग्री दिखाने को कहती है। स्क्रीन [oak, pine] दिखाती है। और कुछ नहीं छपना चाहिए। अगर ding, 9 या ok दिखे तो आप अभी पुराना Porch, Lobby, Pier या Yard चला रहे हैं। java Shelf पर जाएँ।
अगर javac कहे कि ArrayList नहीं मिला, तो import लाइन गायब है, गलत है, या public class Shelf के बाद है। import java.util.ArrayList; को क्लास लाइन के ऊपर लाएँ। अगर बिना उद्धरण tags.add(oak); लिखें तो javac oak को गायब नाम मानता है। हर शब्द के चारों ओर उद्धरण रखें। अगर String[] tags = new ArrayList<String>(); लिखें तो प्रकार नहीं मिलते और javac मना करता है — इस पेज पर निर्माण लाइन के दोनों तरफ ArrayList<String> रखें।
बढ़ती सूची के पास तय ऐरे
एक छोटा अंतर arrays पेज को नज़र में रखता है बिना शिक्षण रन में मिलाए। तय String[] अभी भी काम करता है। वह add से नहीं बढ़ता।
public class Shelf {
public static void main(String[] args) {
String[] trees = {"oak", "pine"};
System.out.println(trees[0]);
}
}
उस अंतर को सिर्फ तय आकार याद रखने के लिए कंपाइल और चलाएँ। स्क्रीन oak दिखाती है — एक स्लॉट — न कि [oak, pine]। कोई add कॉल नहीं। तय ऐरे में तीसरा शब्द रखने के लिए तीन स्लॉट वाला नया ऐरे चाहिए। ArrayList शिक्षण फ़ाइल वही है जिसमें import java.util.ArrayList;, दो add, और System.out.println(tags); हैं। तय-ऐरे फ़ाइल सिर्फ याद दिलाने के लिए है, क्विज़ पथ नहीं। उस अंतर में trees.add("elm") न मिलाएँ — String[] में add नहीं, और javac मना करेगा।
साथ-साथ
एक छोटी तालिका अंतर साफ़ रखती है।
📊 ArrayList vs String array
| Piece | On this page |
|---|---|
| create | ArrayList<String> tags = new ArrayList<String>(); |
| grow | tags.add("oak"); then tags.add("pine"); |
| print list | System.out.println(tags); → [oak, pine] |
| fixed array | String[] trees = {"oak", "pine"}; — no add |
तालिका सिर्फ याद दिलाने के लिए है। पाठ फ़ाइल के लिए रखे टाइप किए टुकड़े import, ArrayList निर्माण, दो add, और tags का प्रिंट हैं। |
Import और arrays से तुलना
Import पेज पर Porch ने import kit.Bell; के बाद Bell.ring(); बुलाया। वह इतिहास के रूप में सही है। यह पेज भूमिका Shelf और import java.util.ArrayList पर बदलता है। बचा Bell.ring(); अलग पाठ है। इस पेज के लिए ArrayList<String> tags, दो add लाइनें, और सूची प्रिंट रखें।
Arrays पेज पर घुंघराले कोष्ठक एक तय String[] भरते थे। जानी हुई साइज़ के लिए वह अब भी चलता है। यह पाठ ArrayList चुनता है ताकि add से वृद्धि और पूरी सूची का एक प्रिंट दिखे। इस पेज की एक ही Shelf डेमो में plants[0] और tags.add("oak") न मिलाएँ। एक साफ़ रास्ता काफी: import, बनाएँ, add, add, प्रिंट।
जब बाद में get, size या remove चाहिए, अगला पेज — list मेथड — उन कॉल को कवर करता है। यहाँ add और पूरी सूची के प्रिंट पर रहें। इस पेज पर सूची पर लूप को ज़रूरी न बनाएँ; सूची ऑब्जेक्ट प्रिंट करना दोनों शब्द देखने के लिए काफी है।
List मेथड के लिए क्या बचता है
यह पेज Collections को ऐसी सूची से खोलता है जो बढ़ सकती है। अगला पेज आम list कॉल जैसे एक स्लॉट पढ़ना या कितने मान हैं पूछना सिखाता है। यहाँ add और पूरे प्रिंट पर रहें। जब तक पहले से न जानते हों, यहाँ tags.get(0) को ज़रूरी न बनाएँ; लक्ष्य बढ़ती सूची और स्क्रीन [oak, pine] है।
जब पुरानी Porch.java या Lobby.java पास हों, उन्हें छोड़ दें या तभी हटाएँ जब रन कमांड उलझाएँ। इस पाठ की ArrayList फ़ाइल कंपाइल करने के बाद java Shelf चलाएँ।
List मेथड से पहले
आप java.util.ArrayList import कर सकते हैं, ArrayList<String> tags बना सकते हैं, tags.add("oak"); और tags.add("pine"); बुला सकते हैं, फिर tags प्रिंट कर सकते हैं। Shelf.java कंपाइल करें और java Shelf चलाएँ। स्क्रीन [oak, pine] दिखाती है। सूची add से बढ़ी। अगला पेज list मेथड है, जहाँ आप एक मान तक पहुँचते हैं या सूची से लंबाई पूछते हैं।
Import क्लास के ऊपर रखें। दोनों add प्रिंट से पहले रखें। इस पाठ के लिए java Shelf चलाएँ। ये तीन आदतें आगे बढ़ने से पहले इस पेज का चेकपॉइंट हैं। जब दो add के बाद स्क्रीन [oak, pine] दिखाए, ArrayList ने इस पाठ का काम किया और आप अगले विषय के लिए तैयार हैं।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी