1. दागदार अॅरे

जावा प्रोग्रामर म्हणून तुम्ही केवळ द्विमितीय अॅरेच्या पंक्ती स्वॅप करू शकत नाही तर तुम्हाला हवे तसे अॅरे देखील तयार करू शकता.

समजा तुम्हाला द्वि-आयामी अॅरेच्या पहिल्या पंक्तीची लांबी हवी आहे 10आणि दुसऱ्या पंक्तीची लांबी तुम्हाला हवी आहे 50. आपण ते करू शकतो का? हो आपण करू शकतो.

प्रथम, आपल्याला 'कंटेनरचा कंटेनर' तयार करणे आवश्यक आहे — ही पहिली अॅरे आहे, जी पंक्तींच्या अॅरेचे संदर्भ संग्रहित करेल. हे असे केले आहे:

int[][] name = new int[height][];

तुम्ही फक्त दुसरा परिमाण वगळलात आणि Java मशीन कंटेनरचा कंटेनर तयार करते. हा कोड कार्यान्वित केल्यानंतर मेमरीमध्ये हे असेल:

जावा मध्ये दागदार अॅरे

आणि, बरं, तुम्हाला एक-आयामी अॅरे कसे तयार करायचे हे आधीच माहित आहे 🙂

परिणामी कोड असा दिसेल:

// Matrix of important data
int[][] matrix = new int[2][];
matrix[0] = new int[10];
matrix[1] = new int[50]
द्विमितीय अ‍ॅरे शून्या पंक्ती ही घटकांची

अ‍ॅरे आहे पहिली पंक्ती ही घटकांची अ‍ॅरे आहे10
50

आम्ही नुकतेच तथाकथित " दातेदार अॅरे " तयार केले आहे.

आणि जर आपल्याला आता या अॅरेचे सर्व घटक स्क्रीनवर दाखवायचे असतील, तर अॅरेची lengthप्रॉपर्टी उपयोगी पडेल: शेवटी, अॅरेच्या पंक्तींची लांबी वेगळी आहे.

तसे, आमच्या उदाहरणात तुम्हाला 'कंटेनरच्या कंटेनर' ची लांबी कशी मिळेल? हे एक अॅरे ऑब्जेक्ट देखील आहे, याचा अर्थ असा की त्याची लांबी आहे. बरोबर उत्तर आहे matrix.length.

आमच्या पंक्तींचा समावेश असलेल्या अॅरेसाठी काय?matrix[0].length



2. द्विमितीय अॅरेसह कार्य करणे

समजा तुम्हाला द्विमितीय अॅरे दाखवायचा आहे. तुम्ही ते कसे करता?

आमचा कोड असे काहीतरी दिसेल:

int[][] matrix = new int[3][];
matrix[0] = new int[]{1, 2, 3, 4, 5, 6};
matrix[1] = new int[]{1, 2, 3};
matrix[2] = new int[]{1};
for (int i = 0; i < matrix.length; i++) {
   for (int j = 0; j < matrix[i].length; j++)
      System.out.print( matrix[i][j] + " " );
   System.out.println();
}
अॅरे तयार करा
अॅरेला व्हॅल्यूजसह भरा


बाह्य लूप जो अॅरेच्या ओळींवर पुनरावृत्ती करतो.
एका पंक्तीच्या सेलवर पुनरावृत्ती होणारी अंतर्गत लूप.

आपल्याला दोन नेस्टेड लूपची आवश्यकता आहे. प्रथम ज्याला आपण बाह्य म्हणतो , आणि दुसरा - आतील .

बाह्य लूपमध्ये ( iव्हेरिएबल), आपण क्रमशः आपल्या द्विमितीय अॅरे बनवणाऱ्या सर्व पंक्ती (अॅरे) मधून जातो. प्रत्येक मूल्य iत्या निर्देशांकाच्या पंक्तीशी संबंधित आहे.

आतील लूपमध्ये ( jव्हेरिएबल), आपण पंक्तीमधील सर्व सेलवर पुनरावृत्ती करतो. आतील लूपबद्दल धन्यवाद, एक पंक्ती, ज्यामध्ये एक-आयामी अॅरेची मूल्ये आहेत, स्क्रीनवर प्रदर्शित केली जाईल.

हे प्रदर्शित केले जाईल:

अॅरेच्या एका पंक्तीवर प्रक्रिया केली जाते
1 2 3 4 5 6
अॅरेच्या दोन ओळींवर प्रक्रिया केली जाते
1 2 3 4 5 6
1 2 3
अॅरेच्या तीन ओळींवर प्रक्रिया केली जाते
1 2 3 4 5 6
1 2 3
1


3. बहुआयामी अॅरे

अॅरेबद्दल आणखी एक मनोरंजक तथ्य, ज्याचा तुम्ही आधीच अंदाज लावला असेल. जर तुम्ही द्विमितीय अॅरे बनवू शकता, तर तुम्ही त्रिमितीय अॅरे बनवू शकता का?

होय, तुम्ही कोणत्याही परिमाणाची अॅरे तयार करू शकता. अशा अॅरेंना 'बहुआयामी' म्हणतात.

फक्त गंमत म्हणून, 4 मिती असलेली एक बहुआयामी अॅरे तयार करूया.

 int[][][][] matrix = new int[2][3][4][5];

हा कोड खूप सोपा आहे, नाही का?

तुम्ही ते स्वहस्ते तयार केले तर?

int[][][][] matrix;
matrix = new int[2][][][];                // Create a 2-element array of references to references to references
for (int i = 0; i < matrix.length; i++)
{
  matrix[i] = new int[3][][];                // Create a 3-element array of references to references
  for (j = 0; j < matrix[i].length; j++)
  {
    matrix[i][j] = new int[4][];             // Create a 4-element array of references
    for (k = 0; k < matrix[i][j].length; k++)
      matrix[i][j][k] = new int[5];          // Create 5-element arrays of integers
  }
}

आणि ते फक्त अॅरे तयार करत आहे! मग तुम्हालाही त्यासोबत कसे तरी काम करावे लागेल.

बोनस कार्य: कोड लिहा जो त्रि-आयामी अॅरेमध्ये सर्व मूल्ये प्रदर्शित करतो.