multidimensional arrays java 2d
जावा में बहुआयामी एरर पर यह ट्यूटोरियल सिंटैक्स और कोड उदाहरणों के साथ जावा में प्रारंभिक और एक्सेस 2 डी और 3 डी एरियर्स के बारे में चर्चा करता है:
अब तक हमने एक आयामी सरणियों के बारे में प्रमुख अवधारणाओं पर चर्चा की है। ये सरणियाँ एकल अनुक्रम या समान डेटा प्रकार के तत्वों की सूची संग्रहीत करती हैं।
जावा एक से अधिक आयाम वाले सरणियों का भी समर्थन करता है और इन्हें बहुआयामी सरणियाँ कहा जाता है।
=> यहाँ सभी जावा ट्यूटोरियल की जाँच करें।
जावा बहुआयामी सरणियों को सारणियों के एक सरणी के रूप में व्यवस्थित किया जाता है यानी बहु-आयामी सरणी का प्रत्येक तत्व एक और सरणी है। तत्वों का प्रतिनिधित्व पंक्तियों और स्तंभों में है। इस प्रकार, आप स्तंभ आकार के साथ पंक्ति आकार को गुणा करके एक बहुआयामी सरणी में तत्वों की कुल संख्या प्राप्त कर सकते हैं।
इसलिए यदि आपके पास 3 × 4 का द्वि-आयामी सरणी है, तो इस सरणी में तत्वों की कुल संख्या = 3 × 4 = 12 है।
इस ट्यूटोरियल में, हम जावा में बहुआयामी सरणियों का पता लगाएंगे। आइए पहले तीन या अधिक आयामी सरणियों पर जाने से पहले दो आयामी सरणियों पर चर्चा करें।
आप क्या सीखेंगे:
- दो-आयामी सरणी
- जावा बहुआयामी सारणियाँ
- जावा में तीन आयामी सारणियां
- बार बार पूछे जाने वाले प्रश्न
- निष्कर्ष
दो-आयामी सरणी
बहु-आयामी सरणी का सबसे सरल दो-आयामी सरणी है। 2 डी सरणियों की एक सरल परिभाषा है: एक 2D सरणी एक आयामी सरणियों की एक सरणी है।
जावा में, दो-आयामी सरणी को पंक्तियों और स्तंभों के रूप में संग्रहीत किया जाता है और मैट्रिक्स के रूप में दर्शाया जाता है।
द्वि-आयामी सरणी की सामान्य घोषणा है,
data_type [] [] array_name;
यहाँ,
data_type = डेटा प्रकार के तत्व जिन्हें एक सरणी में संग्रहीत किया जाएगा।
array_name = द्वि-आयामी सरणी का नाम।
आप निम्नानुसार नया उपयोग करके 2 डी सरणी बना सकते हैं:
data_type [] [] array_name = new data_type[row_size][column_size];
यहाँ,
row_size = एक सरणी में पंक्तियों की संख्या होगी।
column_size = स्तंभों की संख्या में सरणी होगी।
इसलिए यदि आपके पास 3 × 3 की सरणी है, तो इसका मतलब है कि इसमें 3 पंक्तियाँ और 3 कॉलम होंगे।
इस सरणी का लेआउट नीचे दिखाया गया है।
पंक्तियाँ / कॉलम | स्तम्भ 1 | कॉलम 2 | स्तम्भ 3 |
---|---|---|---|
पंक्ति १ | [0,0] | [०.१] | [०.२] |
पंक्ति 2 | [1.0] | [११] | [१,२] |
पंक्ति ३ | [२.०] | [२.१] | [२.२] |
जैसा कि ऊपर दिखाया गया है, पंक्ति और स्तंभ का प्रत्येक चौराहा 2D सरणी के एक तत्व को संग्रहीत करता है। इसलिए यदि आप 2d सरणी में पहले तत्व को एक्सेस करना चाहते हैं, तो यह [0, 0] द्वारा दिया गया है।
ध्यान दें सरणी आकार 3 × 3 है, इसलिए आप इस सरणी में 9 तत्व रख सकते हैं।
3 पंक्तियों और 2 स्तंभों के 'मायरे' नामक पूर्णांक सरणी को नीचे घोषित किया जा सकता है।
int [][] myarray = new int[3][2];
एक बार सरणी घोषित होने और बनाने के बाद, इसे मूल्यों के साथ आरंभीकृत करने का समय है।
प्रारंभिक 2d सरणी
मूल्यों के साथ 2d सरणी को आरम्भ करने के विभिन्न तरीके हैं। पहली विधि प्रत्येक तत्व को मान निर्दिष्ट करने की पारंपरिक विधि है।
आरंभीकरण के लिए सामान्य वाक्यविन्यास है:
array_name[row_index][column_index] = value;
उदाहरण:
int[][] myarray = new int[2][2]; myarray[0][0] = 1; myarray[0][1] = myarray[1][0] = 0; myarray[1][1] = 1;
उपरोक्त कथन दिए गए 2d सरणी के सभी तत्वों को इनिशियलाइज़ करते हैं।
आइए इसे एक कार्यक्रम में रखें और आउटपुट की जांच करें।
public class Main { public static void main(String[] args) { int[][] myarray = new int[2][2]; myarray[0][0] = 1; myarray[0][1] = myarray[1][0] = 0; myarray[1][1] = 1; System.out.println('Array elements are:'); System.out.println(myarray[0][0] + ' ' +myarray[0][1]); System.out.println(myarray[1][0] + ' ' +myarray[1][1]); } }
आउटपुट:
यह विधि उपयोगी हो सकती है जब इसमें शामिल आयाम छोटे होते हैं। जैसे-जैसे सरणी आयाम बढ़ता है, तत्वों को व्यक्तिगत रूप से प्रारंभ करना इस पद्धति का उपयोग करना मुश्किल होता है।
केवल घोषणा के समय सरणी को आरंभीकृत करके जावा में 2d सरणी को आरम्भ करने की अगली विधि है।
इस आरंभीकरण विधि के लिए सामान्य वाक्यविन्यास नीचे दिया गया है:
data_type[][] array_name = {{val_r1c1,val_r1c2,...val_r1cn}, {val_r2c1, val_r2c2,...val_r2cn}, … {val_rnc1, val_rnc2,…val_rncn}};
उदाहरण के लिए, यदि आपके पास 2 × 3 प्रकार का int है, तो आप इसे घोषणा के साथ आरंभ कर सकते हैं:
int [][] intArray = {{1, 2, 3}, {4, 5, 6}};
निम्न उदाहरण आरंभीकरण के साथ 2d सरणी घोषणा को दर्शाता है।
public class Main { public static void main(String[] args) { //2-d array initialised with values int[][] intArray = { { 1, 2 }, { 3, 4 },{5,6}}; //print the array System.out.println('Initialized Two dimensional array:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 2; j++) { System.out.print(intArray [i][j] + ' '); } System.out.println(); } } }
आउटपुट:
उपरोक्त कार्यक्रम में, ऐरे को घोषणा के समय आरंभीकृत किया जाता है और फिर मान प्रदर्शित किए जाते हैं।
आप नीचे दिखाए गए अनुसार लूप का उपयोग करके मानों को 2d सरणी में इनिशियलाइज़ या असाइन कर सकते हैं।
int[][] intArray = new int[3][3]; for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray[i][j] = i+1; } }
निम्न प्रोग्राम उपरोक्त कोड को लागू करता है।
public class Main { public static void main(String[] args) { //declare an array of int int[][] intArray = new int[3][3]; System.out.println('Array elements are:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray[i][j] = i+1; //assign values to each array element System.out.print(intArray[i][j] + ' '); //print each element } System.out.println(); } } }
आउटपुट:
उपर्युक्त 2d सरणी में प्रत्येक तत्व को 'i + 1' मान दिया गया है। यह एक ही मान रखने के लिए सरणी की एक पंक्ति में प्रत्येक तत्व बनाता है।
प्रवेश और प्रिंट 2d सरणी
आप पहले से ही जानते हैं कि 2d सरणी को आरंभीकृत करते समय, आप सरणी के अलग-अलग तत्वों को एक मूल्य पर आरंभीकृत कर सकते हैं। यह किसी विशेष तत्व तक पहुंचने के लिए सरणी के पंक्ति सूचकांक और स्तंभ सूचकांक का उपयोग करके किया जाता है।
आरंभीकरण के समान, आप व्यक्तिगत तत्व के मूल्य तक भी पहुंच सकते हैं और इसे उपयोगकर्ता को प्रिंट कर सकते हैं।
सरणी तत्व तक पहुंचने के लिए सामान्य वाक्यविन्यास है:
data_typeval = array_name[row_index][column_index];
जहाँ array_name वह सरणी है जिसका तत्व एक्सेस किया गया है और data_type उसी प्रकार का डेटा प्रकार है, जैसा कि array है।
निम्नलिखित कार्यक्रम दिखाता है कि एक व्यक्तिगत तत्व कैसे पहुँचा और मुद्रित किया जाता है।
public class Main { public static void main(String[] args) { //two dimensional array definition int[][] intArray = {{1,2},{4,8}}; //Access individual element of array intval = intArray[0][1]; //print the element System.out.println('Accessed array value = ' + val); System.out.println('Contents of Array:' ); //print individual elements of array System.out.println(intArray[0][0] + ' ' + intArray[0][1]); System.out.println(intArray[1][0] + ' ' + intArray[1][1]); } }
आउटपुट:
इस तरह आप वर्ग ([]) कोष्ठक में संलग्न पंक्ति और स्तंभ सूचकांकों का उपयोग करके आसानी से अलग-अलग सरणी तत्वों को एक्सेस और प्रिंट कर सकते हैं।
आप एक सारणीबद्ध प्रारूप में एक बार में पूरे सरणी को प्रिंट कर सकते हैं जैसा कि ऊपर (मैट्रिक्स रूप में भी कहा जाता है) लूप के लिए उपयोग किया जाता है। जैसा कि यह एक दो-आयामी सरणी है, आपको इसके लिए दो छोरों की आवश्यकता है। एक लूप पंक्तियों के माध्यम से पुनरावृति करने के लिए यानी बाहरी पाश और स्तंभों को पार करने के लिए आंतरिक लूप।
किसी भी त्वरित (वर्तमान पुनरावृत्ति) पर, सरणी में विशेष तत्व द्वारा दिया जाता है,
array_name [i] [j];
जहां ‘i’ वर्तमान पंक्ति है और is j ’वर्तमान स्तंभ है।
निम्नलिखित कार्यक्रम 'लूप' के लिए program का उपयोग करके 2d सरणी की छपाई दिखाता है।
public class Main { public static void main(String[] args) { //two dimensional array definition int[][] intArray = new int[3][3]; //printing the 2-d array System.out.println('The two-dimensional array:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray[i][j] = i*j; //assign value to each array element System.out.print(intArray [i][j] + ' '); } System.out.println(''); } } }
आउटपुट:
उपरोक्त कार्यक्रम में, 2d सरणी को आरंभीकृत किया जाता है और फिर दो छोरों के लिए तत्वों का उपयोग करके मुद्रित किया जाता है। बाहरी एक का उपयोग पंक्तियों का ट्रैक रखने के लिए किया जाता है जबकि आंतरिक लूप के लिए कॉलम के लिए होता है।
जावा 2d सरणी लंबाई
एक दो-आयामी सरणी को एक-आयामी सरणी के सरणी के रूप में परिभाषित किया गया है। इस प्रकार, जब आपको 2d सरणी की लंबाई की आवश्यकता होती है, तो यह एक आयामी सरणी में उतना सीधा नहीं होता है।
दो-आयामी सरणी के लिए लंबाई गुण सरणी में पंक्तियों की संख्या देता है। प्रत्येक पंक्ति एक आयामी सरणी है। आप पहले से ही जानते हैं कि दो-आयामी सरणी में पंक्तियाँ और स्तंभ शामिल हैं। प्रत्येक पंक्ति के लिए स्तंभ का आकार भिन्न हो सकता है।
इसलिए आप पंक्तियों की संख्या के माध्यम से पुनरावृति करके प्रत्येक पंक्ति का आकार प्राप्त कर सकते हैं।
निम्नलिखित कार्यक्रम सरणी की लंबाई (पंक्तियों की संख्या) के साथ-साथ प्रत्येक पंक्ति का आकार देता है।
public class Main { public static void main(String[] args) { //initialize 2-d array int[][] myArray = { { 1, 2, 3 }, { 4, 5 } }; System.out.println('length of array:' + myArray.length); //number of rows for(int i=0;i आउटपुट:
ऊपर परिभाषित एक दो आयामी सरणी में दो पंक्तियाँ हैं। प्रत्येक पंक्ति एक आयामी सरणी है। पहले 1D सरणी में 3 तत्व (3 कॉलम) हैं जबकि दूसरी पंक्ति में 2 तत्व हैं।
निम्न जावा प्रोग्राम 2d सरणी को प्रिंट करने के लिए लंबाई संपत्ति का उपयोग दिखाता है।
public class Main { public static void main(String[] args) { //two dimensional array definition int[][] myarray = new int[3][3]; //printing the 2-d array System.out.println('The two-dimensional array:'); for (int i = 0; i आउटपुट:
जैसा कि पहले ही उल्लेख किया गया है, बाहरी लूप पंक्तियों का प्रतिनिधित्व करता है और लूप के लिए आंतरिक कॉलम का प्रतिनिधित्व करता है।
ध्यान दें: दोनों छोरों में समाप्ति की स्थिति लंबाई की संपत्ति का उपयोग करती है, पहले पंक्तियों के माध्यम से पुनरावृति और फिर स्तंभों के माध्यम से।
जावा बहुआयामी सारणियाँ
हमने पहले ही दो आयामी सरणियों को देखा है। जावा दो से अधिक आयामों के साथ सरणियों का समर्थन करता है।
बहु-आयामी सरणी का सामान्य सिंटैक्स निम्नानुसार है:
data_type [d1][d2]…[dn] array_name = new data_type[d1_size][d2_size]…[dn_size];
यहाँ,
d1, d2… dn = बहु-आयामी सरणी के आयाम
[d1_size] [d2_size]… [dn_size] = आयामों के संबंधित आकार
data_type = सरणी तत्वों का डेटा प्रकार
array_name = बहुआयामी सरणी का नाम
2d सरणी के अलावा एक और बहु-आयामी सरणी के उदाहरण के रूप में, तीन आयामी (3 डी) सरणियों के विवरण पर चर्चा करते हैं।
जावा में तीन आयामी सारणियां
हमने पहले ही चर्चा की है कि जैसे-जैसे उनके आयाम बढ़ते हैं, एक सरणी और अधिक जटिल होती जाती है। बहु-आयामी सरणियों के लिए त्रि-आयामी सरणियाँ जटिल हैं। एक तीन आयामी को दो आयामी सरणियों के एक सरणी के रूप में परिभाषित किया जा सकता है।
त्रि-आयामी सरणी की सामान्य परिभाषा नीचे दी गई है:
data_type [] [] [] array_name = new data_type [d1][d2][d3];
यहाँ,
d1, d2, d3 = आयामों के आकार
data_type = सरणी के तत्वों का डेटा प्रकार
array_name = 3D सरणी का नाम
3 डी सरणी परिभाषा का उदाहरण है:
int [] [] [] intArray = new int[2][3][4];
3 डी सरणी की उपरोक्त परिभाषा 2 टेबल या सरणियों, 3 पंक्तियों और 4 स्तंभों के रूप में व्याख्या की जा सकती है जो 2x3x4 = 24 तत्वों तक के योग हैं।
इसका मतलब यह है कि एक 3 डी सरणी में, तीन आयामों की व्याख्या की जाती है:
- सारणी / सारणी की संख्या: पहला आयाम इंगित करता है कि 3 डी सरणी में कितने टेबल या सरणियां होंगी।
- पंक्तियों की संख्या: दूसरा आयाम इंगित करता है कि एक सरणी में कुल पंक्तियों की संख्या होगी।
- कॉलम की संख्या: तीसरा आयाम 3 डी सरणी में कुल कॉलम को इंगित करता है।
प्रारंभिक 3 डी ऐरे
3D सरणी को इनिशियलाइज़ करने के लिए उपयोग किए जाने वाले दृष्टिकोण वही हैं जो दो आयामी सरणियों को आरम्भ करने के लिए उपयोग किए जाते हैं।
आप या तो व्यक्तिगत सरणी तत्वों को मान निर्दिष्ट करके सरणी को आरंभीकृत कर सकते हैं या घोषणा के दौरान सरणी को प्रारंभ कर सकते हैं।
नीचे दिए गए उदाहरण में घोषणा करते समय 3 डी सरणी के आरंभीकरण को दर्शाता है।
public class Main { public static void main(String[] args) { //initialize 3-d array int[][][] intArray = { { { 1, 2, 3}, { 4, 5, 6 } , { 7, 8, 9 } } }; System.out.println ('3-d array is given below :'); //print the elements of array for (int i = 0; i <1; i++) for (int j = 0; j < 3; j++) for (int z = 0; z < 3; z++) System.out.println ('intArray [' + i + '][' + j + '][' + z + '] = ' + intArray [i][j][z]); } }
आउटपुट:
घोषणा के दौरान 3 डी सरणी को आरंभीकृत करने के बाद, हमने सरणी के अलग-अलग तत्वों को एक्सेस किया और उन्हें मुद्रित किया।
Acces और Print 3D Array
फिर से, त्रि-आयामी सरणी में मुद्रण और एक्सेस करने वाले तत्व दो-आयामी सरणियों के समान हैं।
नीचे दिए गए प्रोग्राम ऐरे तत्वों को एक्सेस करने और कंसोल पर प्रिंट करने के लिए लूप के लिए उपयोग करते हैं।
public class Main { public static void main(String[] args) { //initialize 3-d array int[][][] myArray = { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 1, 4, 9 }, { 16, 25, 36 } }, { { 1, 8, 27 }, { 64, 125, 216 } } }; System.out.println('3x2x3 array is given below:'); //print the 3-d array for (int i = 0; i <3; i++) { for (int j = 0; j < 2; j++) { for (int k = 0; k < 3; k++) { System.out.print(myArray[i][j][k] + ' '); } System.out.println(); } System.out.println(); } } }
आउटपुट:
उपरोक्त कार्यक्रम एक त्रि-आयामी सरणी का एक सारणीबद्ध प्रतिनिधित्व प्रदर्शित करता है। जैसा कि दिखाया गया है, यह एक 3x2x3 सरणी है जिसका अर्थ है कि इसमें 3 टेबल, 2 पंक्तियां और 3 कॉलम हैं और इस प्रकार 18 तत्व हैं।
यह पहले ही उल्लेख किया गया है कि स्तंभ का आकार एक बहुआयामी सरणी में भिन्न हो सकता है। नीचे दिया गया उदाहरण विभिन्न स्तंभ आकारों के साथ एक त्रि-आयामी सरणी प्रदर्शित करता है।
यह कार्यक्रम सरणी के माध्यम से पार करने और अपने तत्वों को प्रदर्शित करने के लिए लूप के लिए बढ़ाया का उपयोग भी करता है।
public class Main { public static void main(String[] args) { //initialize 3-d array int[][][] intArray = { {{10, 20, 30},{20, 40, 60}}, { {10, 30,50,70},{50},{80, 90}} }; System.out.println('Multidimensional Array (3-d) is as follows:'); // use for..each loop to iterate through elements of 3d array for (int[][] array_2D: intArray) { for (int[] array_1D: array_2D) { for(intelem: array_1D) { System.out.print(elem + ' '); } System.out.println(); } System.out.println(); } } }
आउटपुट:
उपयोग की गई इनपुट एरे एक तीन आयामी एरे है जिसमें विभिन्न प्रकार के कॉलम होते हैं। प्रत्येक आयाम के लिए उपयोग किए गए प्रत्येक लूप के लिए बढ़ाया सारणी की सामग्री को सारणीबद्ध प्रारूप में प्रदर्शित करता है।
बार बार पूछे जाने वाले प्रश्न
Q # 1) दो आयामी सरणी से आपका क्या अभिप्राय है?
मुफ्त यूट्यूब एमपी 3 कनवर्टर अनुप्रयोग के लिए
उत्तर: द्वि-आयामी सरणी को सरणियों का एक सरणी कहा जाता है और आमतौर पर पंक्तियों और स्तंभों से मिलकर मैट्रिक्स के रूप में आयोजित किया जाता है। एक द्वि-आयामी सरणी ज्यादातर संबंधपरक डेटाबेस या समान डेटा संरचनाओं में इसका उपयोग करती है।
Q # 2) जावा में एकल-आयामी सरणी क्या है?
उत्तर: जावा में एक आयामी सरणी केवल एक सूचकांक के साथ एक सरणी है। यह जावा में सरणियों का सबसे सरल रूप है।
Q # 3) एक आयामी आयामी और दो आयामी सरणी के बीच क्या अंतर है?
उत्तर: एक आयामी सरणी तत्वों के एक एकल अनुक्रम को संग्रहीत करता है और इसमें केवल एक सूचकांक होता है। एक द्वि-आयामी सरणी तत्वों के सरणी को संग्रहीत करती है और इसके तत्वों तक पहुंचने के लिए दो सूचकांकों का उपयोग करती है।
Q # 4) दो आयामी होने का क्या मतलब है?
उत्तर: द्वि-आयामी का मतलब केवल दो आयाम हैं। एक ज्यामितीय दुनिया में, जिन वस्तुओं की केवल ऊंचाई और चौड़ाई होती है, वे दो-आयामी या 2 डी ऑब्जेक्ट होते हैं। इन वस्तुओं में मोटाई या गहराई नहीं है।
त्रिभुज, आयताकार, आदि 2D वस्तुएं हैं। सॉफ्टवेयर के संदर्भ में, दो आयामी का मतलब अभी भी दो आयाम हैं और हम आमतौर पर एरे जैसी डेटा संरचनाओं को परिभाषित करते हैं जिनमें 1, 2 या अधिक आयाम हो सकते हैं।
Q # 5) कौन सी एक सरणी में पहली बार आती है - पंक्तियाँ या कॉलम?
उत्तर: दो आयामी सरणियों को मेट्रिस के रूप में दर्शाया जाता है और मैट्रिस आमतौर पर पंक्तियों के एक्स कॉलम के रूप में लिखे जाते हैं। उदाहरण के लिए, 2 × 3 आकार के एक मैट्रिक्स में 2 पंक्तियाँ और 3 कॉलम होंगे। इसलिए 2 डी सरणी के लिए भी, पंक्तियाँ पहले आती हैं और अगले कॉलम।
निष्कर्ष
यह जावा में बहुआयामी सरणियों के बारे में था। हमने दो आयामी सरणियों के साथ-साथ दो से अधिक आयामों वाले एक सरणी के सभी पहलुओं पर चर्चा की है।
इन्हें आमतौर पर सरणी या सरणियों के रूप में कहा जाता है, बहु-आयामी सरणियों के मामले में, प्रत्येक तत्व एक और सरणी है। इस प्रकार, हम कह सकते हैं कि एक सरणी में एक और सरणी या बस सारणियों का एक सरणी होता है।
हमारे आगामी ट्यूटोरियल में, हम सरणियों के बारे में अधिक पता लगाएंगे और फिर अन्य संग्रहों पर जाएँगे।
=> यहाँ सरल जावा प्रशिक्षण श्रृंखला देखें।
अनुशंसित पाठ
- जावा ऐरे - जावा में ऐरे के तत्वों को कैसे प्रिंट करें?
- जावा जेनेरिक एरे - जावा में जेनेरिक एरे को कैसे अनुकरण करें?
- बहुआयामी Arrays और सी # में दांतेदार Arrays
- जावा एरेज़ और संबंधित अवधारणाओं का परिचय
- C ++ में बहुआयामी एरर्स
- जावा डाटाटेप्स, लूप्स, एरेस, स्विच एंड एसेसरीज
- जावा ऐरे - घोषणा, जावा में एक ऐरे को बनाएँ और आरम्भ करें
- जावा सरणी कोड कोड के साथ लंबाई ट्यूटोरियल