1. দাগযুক্ত অ্যারে

একজন জাভা প্রোগ্রামার হিসাবে আপনি শুধুমাত্র একটি দ্বি-মাত্রিক অ্যারের সারি অদলবদল করতে পারবেন না, তবে আপনি চাইলে একটি অ্যারেও তৈরি করতে পারবেন।

ধরা যাক আপনি একটি দ্বিমাত্রিক অ্যারের প্রথম সারির দৈর্ঘ্য চান 10, এবং আপনি দ্বিতীয় সারির দৈর্ঘ্য চান 50। আমরা কি ঐটা করতে পারি? হ্যাঁ আমরা পারি.

প্রথমত, আমাদের একটি 'কন্টেইনার অব কনটেইনার' তৈরি করতে হবে — এটিই প্রথম অ্যারে, যা সারিগুলির অ্যারের রেফারেন্স সংরক্ষণ করবে। এই তার কাজ হল কিভাবে:

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

আপনি কেবল দ্বিতীয় মাত্রা বাদ দেন , এবং জাভা মেশিন পাত্রের একটি ধারক তৈরি করে। এই কোডটি কার্যকর করার পরে এটি মেমরিতে থাকবে:

জাভাতে জ্যাগড অ্যারে

এবং, ভাল, আপনি ইতিমধ্যেই জানেন কিভাবে এক-মাত্রিক অ্যারে তৈরি করতে হয় 🙂

ফলাফলের কোডটি দেখতে এইরকম হবে:

// 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
  }
}

এবং যে শুধু অ্যারে তৈরি! তারপরে আপনাকেও এটির সাথে একরকম কাজ করতে হবে।

বোনাস টাস্ক: কোড লিখুন যা একটি ত্রিমাত্রিক অ্যারেতে সমস্ত মান প্রদর্শন করে।