java arraylist how declare
यह ट्यूटोरियल समझाता है कि कोड के उदाहरणों के साथ जावा ऐरेलाइस्ट को कैसे डिक्लेयर, इनिशियलाइज़ और प्रिंट किया जाए। आप जावा में ArrayList के 2D Arraylist और कार्यान्वयन के बारे में भी जानेंगे:
जावा कलेक्शंस फ्रेमवर्क और सूची इंटरफ़ेस को हमारे पिछले ट्यूटोरियल में विस्तार से बताया गया था। ArrayList एक डेटा संरचना है जो संग्रह फ़्रेमवर्क का हिस्सा है और इसे सरणियों और वैक्टर के समान देखा जा सकता है।
ArrayList को एक गतिशील सरणी के रूप में माना जा सकता है जो आपको किसी भी समय तत्वों को जोड़ने या हटाने की अनुमति देता है या बस कहा जाता है, गतिशील रूप से।
=> यहाँ जावा शुरुआती गाइड पर एक नज़र रखना।
दूसरे शब्दों में, इसका आकार उन सरणियों के विपरीत गतिशील रूप से बढ़ या घट सकता है, जिनका आकार एक बार घोषित होने पर स्थिर रहता है।
आप क्या सीखेंगे:
- ArrayList जावा में कक्षा
- निष्कर्ष
ArrayList जावा में कक्षा
जावा में ArrayList डेटा संरचना को ArrayList वर्ग द्वारा दर्शाया गया है जो 'का एक हिस्सा है' java.util ”पैकेज।
ArrayList वर्ग के लिए पदानुक्रम नीचे दिखाया गया है।
जैसा कि आप देख सकते हैं, ArrayList वर्ग सूची इंटरफ़ेस को लागू करता है जो बदले में संग्रह इंटरफ़ेस से निकलता है।
ArrayList वर्ग की सामान्य परिभाषा नीचे दी गई है:
public class ArrayList extends AbstractList implements List,RandomAccess, Cloneable, Serializable
यहाँ ArrayList की कुछ विशिष्ट विशेषताएं हैं:
- सम्मिलन आदेश को बनाए रखने के द्वारा जावा के तत्वों को ArrayList वर्ग संग्रहीत करता है।
- ArrayList इसमें संग्रहीत डुप्लिकेट तत्वों को अनुमति देता है।
- ArrayList को सिंक्रनाइज़ नहीं किया जाता है, प्रमुख बिंदु जो जावा में वेक्टर वर्ग से ArrayList को अलग करता है।
- Java में ArrayList C ++ में Vectors के समान है।
- जावा में ArrayList सरणियों की तरह सूचकांकों का भी उपयोग करता है और यादृच्छिक अभिगम का समर्थन करता है।
- ArrayList में तत्वों को हेरफेर करने वाले ऑपरेशन बहुत धीमे होते हैं क्योंकि ArrayList से किसी भी तत्व को हटाने की आवश्यकता होती है, तो तत्वों की बहुत अधिक शिफ्टिंग की जानी चाहिए।
- ArrayList वर्ग में आदिम प्रकार नहीं बल्कि केवल ऑब्जेक्ट हो सकते हैं। इस मामले में, हम आम तौर पर इसे 'वस्तुओं का ArrayList' कहते हैं। इसलिए यदि आप पूर्णांक प्रकार के तत्वों को संग्रहीत करना चाहते हैं, तो आपको रैपर क्लास के इंटेगर ऑब्जेक्ट का उपयोग करना होगा, न कि आदिम प्रकार के इंट का।
क्रिएट एंड डिक्लेयर अरैलिस्ट
अपने कार्यक्रम में ArrayList वर्ग का उपयोग करने के लिए, आपको नीचे दिखाए गए अनुसार as आयात ’निर्देश का उपयोग करके इसे अपने कार्यक्रम में पहले शामिल करना होगा:
import java.util.ArrayList;
या
import java.util.*; //this will include all classes from java.util package
एक बार जब आप अपने प्रोग्राम में ArrayList वर्ग आयात करते हैं, तो आप एक ArrayList ऑब्जेक्ट बना सकते हैं।
सामान्य ArrayList निर्माण वाक्य रचना है:
ArrayList arrayList = new ArrayList ();
डिफ़ॉल्ट निर्माता का उपयोग करने वाले उपरोक्त कथन के अलावा, ArrayList वर्ग अन्य अतिभारित निर्माणकर्ताओं को भी प्रदान करता है जिनका उपयोग आप ArrayList बनाने के लिए कर सकते हैं।
कंस्ट्रक्टर के तरीके
जावा में ArrayList वर्ग ArrayList बनाने के लिए निम्न निर्माण विधियाँ प्रदान करता है।
विधि # 1: ArrayList ()
यह विधि ArrayList वर्ग के डिफ़ॉल्ट कंस्ट्रक्टर का उपयोग करती है और एक खाली ArrayList बनाने के लिए उपयोग की जाती है।
इस विधि का सामान्य वाक्य विन्यास है:
ArrayList list_name = new ArrayList();
उदाहरण के लिए, आप निम्न कथन का उपयोग करके स्ट्रिंग का एक सामान्य ArrayList बना सकते हैं।
ArrayList arraylist = new ArrayList();
यह एक खाली ArrayList प्रकार स्ट्रिंग का 'सरणी सूची' बनाएगा।
विधि # 2: ArrayList (int क्षमता)
इस अतिभारित कंस्ट्रक्टर का उपयोग निर्माणकर्ता के तर्क के रूप में प्रदान किए गए निर्दिष्ट आकार या क्षमता के साथ एक ArrayList बनाने के लिए किया जा सकता है।
इस विधि का सामान्य वाक्य विन्यास है:
ArrayList list_name = new ArrayList(int capacity);
उदाहरण:
ArrayList arraylist = new ArrayList(10);
उपरोक्त कथन 10 की क्षमता वाला एक खाली ArrayList प्रकार के पूर्णांक का नाम 'सरणीसूची' बनाता है।
विधि # 3: ArrayList (संग्रह c)
ArrayList वर्ग के लिए तीसरा अतिभारित कंस्ट्रक्टर एक तर्क के रूप में पहले से मौजूद संग्रह को लेता है और निर्दिष्ट संग्रह c के प्रारंभिक तत्वों के रूप में तत्वों के साथ एक ArrayList बनाता है।
इस रचनाकार का उपयोग करके ArrayList आरंभीकरण के लिए सामान्य वाक्यविन्यास है:
ArrayList list_name = new ArrayList (Collection c)
उदाहरण के लिए, यदि intList तत्वों {10,20,30,40,50} के साथ एक मौजूदा संग्रह है, तो निम्नलिखित कथन अपने प्रारंभिक तत्वों के रूप में intList की सामग्री के साथ एक सूची a arraylist ’बनाएगा।
ArrayList ArrayList = new ArrayList(intList);
ArrayList वर्ग विभिन्न तरीकों का भी समर्थन करता है जिनका उपयोग सूची की सामग्री में हेरफेर करने के लिए किया जा सकता है। हम इन तरीकों पर अपने आगामी ट्यूटोरियल 'जावा में ArrayList विधियों' पर विस्तार से चर्चा करेंगे।
जावा में ArrayList को आरम्भ करें
एक बार ArrayList बन जाने के बाद, ArrayList को मूल्यों के साथ आरंभ करने के कई तरीके हैं। इस भाग में, हम इन तरीकों पर चर्चा करेंगे।
# 1) Arrays.asList का उपयोग करना
यहां, आप ArrayList को इनिशियलाइज़ करने के लिए Arrays वर्ग के asList मेथड का उपयोग करके एक Array को List में बदल सकते हैं।
सामान्य सिंटैक्स:
ArrayList arrayListName = new ArrayList( Arrays.asList (Object o1, Object o2, …, Object on));
उदाहरण:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList object myList with Arrays.asList method ArrayList myList = new ArrayList( Arrays.asList('One', 'Two', 'Three')); //print the ArrayList System.out.println('List contents:'+myList); } }
आउटपुट:
# 2) बेनामी आंतरिक वर्ग विधि का उपयोग करना
यहाँ हम बेनामी आंतरिक वर्ग का उपयोग मानों के लिए एरियर सूची को आरम्भ करने के लिए करते हैं।
ArrayList आरंभीकरण के लिए एक अनाम आंतरिक वर्ग का उपयोग करने के लिए सामान्य वाक्यविन्यास निम्नानुसार है:
ArrayListarraylistName = new ArrayList(){{ add(Object o1); add (Object o2);… add (Object on);}};
उदाहरण:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList with anonymous inner class calls ArrayList colors = new ArrayList(){{ add('Red'); add('Blue'); add('Purple'); }}; //print the ArrayList System.out.println('Content of ArrayList:'+colors); } }
आउटपुट:
# 3) Add Method का उपयोग करना
यह किसी भी संग्रह में तत्वों को जोड़ने की सामान्य विधि है।
ArrayList में तत्वों को जोड़ने के लिए ऐड मेथड का उपयोग करने का सामान्य सिंटैक्स है:
ArrayListArraylistName = new ArrayList(); ArraylistName.add(value1); ArraylistName.add(value2); ArraylistName.add(value3);
प्रोग्रामिंग उदाहरण:
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList ArrayList colors = new ArrayList(); //add elements to the ArrayList using add method colors.add('Red'); colors.add('Green'); colors.add('Blue'); colors.add('Orange'); //print the ArrayList System.out.println('Content of ArrayList:'+colors); }
आउटपुट:
# 4) Collection.nCopies विधि का उपयोग करना
इस विधि का उपयोग समान मानों के साथ ArrayList को इनिशियलाइज़ करने के लिए किया जाता है। हम तत्वों की गिनती को प्रारंभिक और विधि के लिए प्रारंभिक मूल्य प्रदान करते हैं।
आरंभीकरण का सामान्य सिंटैक्स है:
ArrayList arrayListName = new ArrayList(Collections.nCopies(count, element));
नीचे दिया गया उदाहरण कलेक्शन.एनकोपीज़ विधि का उपयोग करके ऐरे आरंभीकरण को प्रदर्शित करता है।
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList with 10 elements //initialized to value 10 using Collections.nCopies ArrayList intList = new ArrayList(Collections.nCopies(10,10)); //print the ArrayList System.out.println('Content of ArrayList:'+intList); } }
आउटपुट:
ArrayList के माध्यम से Iterating
हम ArrayList के माध्यम से या पाश के माध्यम से पार करने के लिए निम्नलिखित तरीके हैं:
- लूप के लिए उपयोग करना
- प्रत्येक लूप के लिए (लूप के लिए बढ़ाया गया)।
- Iterator इंटरफ़ेस का उपयोग करना।
- ListIterator इंटरफ़ेस द्वारा।
- ForEachRemaining () विधि द्वारा।
वास्तव में, इन विधियों का उपयोग सामान्य रूप से संग्रह के माध्यम से पुनरावृति करने के लिए किया जाता है। हम इस ट्यूटोरियल में ArrayList के संबंध में प्रत्येक विधि के उदाहरण देखेंगे।
# 1) लूप के लिए उपयोग करना
लूप के लिए एक इंडेक्स-आधारित का उपयोग एरेलेलिस्ट को पार करने और उसके तत्वों को प्रिंट करने के लिए किया जा सकता है।
निम्नलिखित लूप के लिए ArrayList को पार करने और प्रिंट करने के लिए एक उदाहरण है।
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-loop:'); //use for loop to traverse through its elements and print it for(int i=0;i आउटपुट:

यह ArrayList के तत्वों को पार करने और छापने का सबसे सरल और आसान तरीका है और अन्य संग्रह के मामले में भी इसी तरह काम करता है।
# 2) प्रत्येक लूप के लिए (लूप के लिए बढ़ाया गया)
आप प्रत्येक लूप या लूप के लिए एन्हांसमेंट का उपयोग करके ArrayList को भी पार कर सकते हैं। जावा 8 से पहले, इसमें लैम्बडा एक्सप्रेशन शामिल नहीं थे। लेकिन जावा 8 के बाद से, आप प्रत्येक लूप के लिए लैंबडा भावों को भी शामिल कर सकते हैं।
नीचे दिए गए कार्यक्रम प्रत्येक लूप और लैम्ब्डा अभिव्यक्ति के लिए ArrayList के ट्रैवर्सल और प्रिंटिंग को प्रदर्शित करता है।
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-each loop:'); //use for-each loop to traverse through its elements and print it intList.forEach(val ->{ System.out.print(val + ' '); }); } }
आउटपुट:

# 3) Iterator Interface का उपयोग करना
हमने अपने पिछले विषयों में Iterator इंटरफ़ेस को विस्तार से देखा है। Iterator इंटरफ़ेस को ArrayList के माध्यम से पुनरावृत्त करने और इसके मूल्यों को प्रिंट करने के लिए उपयोग किया जा सकता है।
निम्न कार्यक्रम यह दिखाता है।
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(5); intList.add(10); intList.add(15); intList.add(20); intList.add(25); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using Iterator interface:'); //Traverse through the ArrayList using iterator Iterator iter=arraylist.iterator(); while(iter.hasNext()){ System.out.print(iter.next() + ' '); } } }
आउटपुट:

# 4) ListIterator इंटरफ़ेस द्वारा
आप ListIterator का उपयोग करके ArrayList को भी पीछे छोड़ सकते हैं। ListIterator का उपयोग आगे और पीछे की दिशा में ArrayList को पार करने के लिए किया जा सकता है।
आइए एक जावा प्रोग्राम को लागू करें जो लिस्टइंटरेटर का उपयोग करने का एक उदाहरण प्रदर्शित करता है।
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList();//Creating arraylist colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using ListIterator:'); //Traverse the list using ListIterator ListIterator color_iter=colors_list.listIterator(colors_list.size()); while(color_iter.hasPrevious()) { String str=color_iter.previous(); System.out.print(str + ' '); } } }
आउटपुट:

जैसा कि आप आउटपुट से देख सकते हैं, उपरोक्त प्रोग्राम में ArrayList को हैवरप्रेट () और पिछले () ListIterator के तरीकों का उपयोग करके पीछे की दिशा में लगाया गया है।
# 5) forEachRemaining () विधि द्वारा
यह ArrayList पार करने के तरीकों में से एक है और जावा 8 के बाद से उपलब्ध है।
निम्न प्रोग्राम ArrayList को पार करने के लिए forEachRemaining () विधि प्रदर्शित करता है।
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using forEachRemaining() method:'); //Traverse the list using forEachRemaining () method Iterator itr=colors_list.iterator(); itr.forEachRemaining(val-> //lambda expression { System.out.print(val + ' '); }); } }
आउटपुट:

अजगर सेलेनियम पाठ द्वारा तत्व खोजता है
हम एक Iterator के साथ forEachRemaining () विधि का उपयोग करते हैं। यह प्रत्येक के समान है और हम इस पद्धति के अंदर लैम्ब्डा अभिव्यक्ति का उपयोग करते हैं।
ArrayList जावा उदाहरण
इस अनुभाग में, हम जावा में ArrayList कार्यान्वयन देखेंगे। एक उदाहरण के रूप में, हम विभिन्न जोड़तोड़ करने के लिए जावा सरणी को बनाने, शुरू करने और उपयोग करने से एक पूर्ण उदाहरण लागू करेंगे।
import java.util.ArrayList; class Main { public static void main(String() args) { //Creating a generic ArrayList ArrayList newList = new ArrayList(); //Size of arrayList System.out.println('Original size of ArrayList at creation: ' + newList.size()); //add elements to it newList.add('IND'); newList.add('USA'); newList.add('AUS'); newList.add('UK'); //print the size after adding elements System.out.println('ArrayList size after adding elements: ' + newList.size()); //Print ArrayList contents System.out.println('Contents of the ArrayList: ' + newList); //Remove an element from the list newList.remove('USA'); System.out.println('ArrayList contents after removing element(USA): ' + newList); //Remove another element by index newList.remove(2); System.out.println('ArrayList contents after removing element at index 2: ' + newList); //print new size System.out.println('Size of arrayList: ' + newList.size()); //print list contents System.out.println('Final ArrayList Contents: ' + newList); } }
आउटपुट:

जावा में दो आयामी ArrayList
हम जानते हैं कि एक ArrayList में Arrays जैसे आयाम नहीं हैं। लेकिन हमारे पास ArrayLists हो सकते हैं, जिन्हें '2D ArrayLists' या 'ArrayLists का ArrayList' भी कहा जाता है।
इन नीडिंत ArrayLists के पीछे सरल विचार यह है कि एक ArrayList दिया गया है, इस ArrayList का प्रत्येक तत्व एक और ArrayList है।
हमें निम्नलिखित प्रोग्राम का उपयोग करके इसे समझें।
import java.util.*; public class Main { public static void main(String() args) { int num = 3; // declare an arrayList of ArrayLists or 2D ArrayList ArrayList intList = new ArrayList (num); // Create individual elements or ArrayLists and add them to intList as elements ArrayList list_elem1 = new ArrayList(); list_elem1.add(10); intList.add(list_elem1); ArrayList list_elem2 = new ArrayList(); list_elem2.add(20); list_elem2.add(30); intList.add(list_elem2); ArrayList list_elem3 = new (); list_elem3.add(40); list_elem3.add(50); list_elem3.add(60); intList.add(list_elem3); System.out.println('Contents of 2D ArrayList(Nested ArrayList):'); //print the 2D ArrayList or nested ArrayList for (int i = 0; i आउटपुट:

उपरोक्त कार्यक्रम 2D ArrayList को दर्शाता है। यहाँ, सबसे पहले, हम ऐरेलेस्ट के एक ऐरेलेस्ट की घोषणा करते हैं। तब हम अलग-अलग ArrayLists को परिभाषित करते हैं जो नेस्टेड ArrayList के व्यक्तिगत तत्वों के रूप में काम करेगा जब हम इनमें से प्रत्येक ArrayList को Nested ArrayList में जोड़ते हैं।
ArrayList के प्रत्येक तत्व तक पहुँचने के लिए, हमें दो बार मेथड कॉल करने की आवश्यकता है। पहले नेस्टेड एरेलिस्ट की पंक्ति का उपयोग करने के लिए और फिर पंक्ति और स्तंभ के व्यक्तिगत चौराहे तक पहुंचने के लिए।
ध्यान दें कि आप बहुआयामी ArrayLists को परिभाषित करने के लिए ArrayList के नेस्टेड स्तर को बढ़ा सकते हैं। उदाहरण के लिए, 3D ArrayList में 2D ArrayLists इसके तत्व आदि होंगे।
बार बार पूछे जाने वाले प्रश्न
Q # 1) जावा में ArrayList क्या है?
उत्तर: जावा में एक ArrayList एक गतिशील सरणी है। यह प्रकृति में रहने योग्य है यानी यह आकार में बढ़ जाता है जब नए तत्व जोड़े जाते हैं और जब तत्व हटाए जाते हैं तो सिकुड़ जाते हैं।
Q # 2) ऐरे और ऐरेएलिस्ट में क्या अंतर है?
उत्तर: एक ऐरे स्थिर संरचना में है और एक बार घोषित होने के बाद इसका आकार नहीं बदला जा सकता है। एक ArrayList एक गतिशील सरणी है और तत्वों को जोड़ने या हटाने पर इसका आकार बदल जाता है।
सरणी जावा में एक मूल संरचना है जबकि एक ArrayList जावा में संग्रह फ्रेमवर्क का एक हिस्सा है। एक और अंतर यह है कि जबकि एरे तत्वों को एक्सेस करने के लिए सबस्क्रिप्ट (()) का उपयोग करता है, जबकि एरियर अपने तत्वों तक पहुंचने के लिए तरीकों का उपयोग करता है।
Q # 3) क्या ArrayList एक सूची है?
उत्तर: ArrayList सूची का एक उपप्रकार है। ArrayList एक वर्ग है जबकि सूची एक इंटरफ़ेस है।
Q # 4) क्या ArrayList एक संग्रह है?
उत्तर: नहीं। ArrayList संग्रह का एक कार्यान्वयन है जो एक इंटरफ़ेस है।
Q # 5) ArrayList अपने आकार को कैसे बढ़ाता है?
उत्तर: आंतरिक रूप से ArrayList को Array के रूप में कार्यान्वित किया जाता है। ArrayList का एक आकार पैरामीटर है। जब तत्वों को ArrayList में जोड़ा जाता है और आकार मान तक पहुँचा जाता है, तो ArrayList आंतरिक रूप से नए तत्वों को समायोजित करने के लिए एक और सरणी जोड़ता है।
निष्कर्ष
यह जावा में ArrayList वर्ग की मूल बातें पर ट्यूटोरियल था। हमने ArrayList के विस्तृत प्रोग्रामिंग कार्यान्वयन के साथ-साथ ArrayList वर्ग के निर्माण और आरंभीकरण को देखा है।
हमने 2D और बहुआयामी ArrayLists पर भी चर्चा की। ArrayList वर्ग विभिन्न तरीकों का समर्थन करता है जिनका उपयोग हम तत्वों को हेरफेर करने के लिए कर सकते हैं। हमारे आगामी ट्यूटोरियल में, हम इन तरीकों को अपनाएंगे।
=> आसान जावा प्रशिक्षण श्रृंखला के माध्यम से पढ़ें।
अनुशंसित पाठ
- जावा ऐरे - घोषणा, जावा में एक ऐरे को बनाएँ और प्रारंभ करें
- जावा ऐरे - जावा में ऐरे के तत्वों को कैसे प्रिंट करें?
- जावा परिनियोजन: जावा जार फ़ाइल का निर्माण और निष्पादन
- जावा सूची - जावा में सूची कैसे बनाएं, आरंभ और उपयोग करें
- जावा वर्चुअल मशीन: जावा एप्लीकेशन चलाने में JVM कैसे मदद करता है
- जावा में ऑब्जेक्ट्स का एरियर: कैसे बनाएं, आरंभ और उपयोग करें
- जावा में एक्सेस संशोधक - उदाहरण के साथ ट्यूटोरियल
- उदाहरणों के साथ जावा परावर्तन ट्यूटोरियल