সমাধান করা হয়েছে: java 2d-এ কপি অ্যারে

সর্বশেষ আপডেট: 06/19/2023

2d-এ অ্যারে কপি করুন অ্যারের ম্যানিপুলেশন প্রোগ্রামিং-এর একটি মৌলিক ধারণা, এবং আজকের নিবন্ধে, আমরা জাভাতে **একটি 2D অ্যারে অনুলিপি করার উপর ফোকাস করতে যাচ্ছি। আমরা এই বিষয়ের জটিলতাগুলি অন্বেষণ করব এবং এর সাথে জড়িত পদ্ধতি এবং কৌশলগুলিকে গভীরভাবে দেখব। একটি 2D অ্যারে ডুপ্লিকেট করার সবচেয়ে সহজ উপায় হল একটি নতুন অ্যারে তৈরি করা এবং আসলটির মাধ্যমে পুনরাবৃত্তি করা। যাইহোক, এই প্রক্রিয়াটি সবসময় যতটা সহজ মনে হয় ততটা সহজ নয়। এই নিবন্ধে, আমরা 2D সমস্যায় অনুলিপি অ্যারে মোকাবেলা করব, প্রাসঙ্গিক লাইব্রেরি বা ফাংশনগুলি নিয়ে আলোচনা করব এবং 2D অ্যারে শেখার জন্য এবং জাভাতে তাদের পরিচালনার জন্য একটি বিস্তৃত নির্দেশিকা প্রদান করব।

একটি 2D অ্যারে অনুলিপি করার সমস্যার সমাধান একটি 1D অ্যারে অনুলিপি করার মতো সহজ নয় কারণ কেবল অভ্যন্তরীণ অ্যারেগুলির রেফারেন্সগুলি অনুলিপি করা সাব্যারেগুলির গভীর অনুলিপি তৈরি করবে না। এই সমস্যাটি সমাধান করার জন্য বেশ কয়েকটি পন্থা রয়েছে, এবং আমরা এই ধরনের একটি পদ্ধতি সম্পর্কে বিস্তারিত আলোচনা করব, কোডের একটি ধাপে ধাপে পরীক্ষা এবং এর বাস্তবায়ন।

প্রথমে, আসুন একটি ফাংশন তৈরি করি যা একটি 2D অ্যারে অনুলিপি করে:

পাবলিক স্ট্যাটিক int[][] copy2DArray(int[][] original) {
int[][] কপি = নতুন int[original.length][];
জন্য (int i = 0; i < original.length; i++) { copy[i] = Arrays.copyOf(original[i], original[i].length); } রিটার্ন কপি; } [/code] উপরের কোডে, আমরা `copy2DArray` নামক একটি ফাংশনকে সংজ্ঞায়িত করে শুরু করি যা একটি 2D পূর্ণসংখ্যা অ্যারে নেয়, যার নাম **অরিজিনাল**, এর প্যারামিটার হিসেবে। ফাংশনটি সংজ্ঞায়িত করার পরে, আমরা একটি নতুন 2D অ্যারে তৈরি করি, যাকে বলা হয় **কপি**, মূল অ্যারের মতো একই দৈর্ঘ্য সহ। তারপরে আমরা আসল অ্যারের উপাদানগুলির মাধ্যমে পুনরাবৃত্তি করার জন্য একটি লুপ ব্যবহার করি এবং `java.util.Arrays` লাইব্রেরি থেকে `Arrays.copyOf()` পদ্ধতি ব্যবহার করে নতুন অ্যারেতে অনুলিপি করি। এই পদ্ধতিটি সাবারেগুলির একটি গভীর অনুলিপি তৈরি করে। অবশেষে, আমরা 2D অ্যারের কপি ফেরত দিই।

2D অ্যারে বোঝা

জাভাতে, একটি **2D অ্যারে** মূলত অ্যারের একটি অ্যারে। এটি সারি এবং কলাম সহ একটি টেবিল হিসাবে কল্পনা করা যেতে পারে। উপাদান দুটি সূচক ব্যবহার করে অ্যাক্সেস করা যেতে পারে: একটি সারির জন্য এবং অন্যটি কলামের জন্য। জাভাতে 2D অ্যারেগুলির সাথে কাজ করার সময়, উভয় সূচকের ট্র্যাক রাখা অপরিহার্য, যাতে আপনি সঠিকভাবে ডেটা অ্যাক্সেস এবং ম্যানিপুলেট করতে পারেন।

  • নিম্নলিখিত সিনট্যাক্স ব্যবহার করে একটি 2D অ্যারে তৈরি করা হয়েছে:
    `dataType[][] arrayName = new dataType[rowSize][columnSize];`
  • একটি 2D অ্যারের উপাদান দুটি সূচকের সাথে অ্যাক্সেস করা যেতে পারে: `arrayName[সারি][কলাম];`
  • একটি 2D অ্যারের মাধ্যমে পুনরাবৃত্তিতে সাধারণত নেস্টেড লুপ জড়িত থাকে।

আরো ডাইভিং আগে 2D তে অ্যারে অনুলিপি করুন, এটা বোঝা গুরুত্বপূর্ণ কেন সাবয়ারের গভীর অনুলিপি তৈরি করা গুরুত্বপূর্ণ। একটি অগভীর অনুলিপি কেবলমাত্র সাবয়ারের রেফারেন্সগুলিকে অনুলিপি করবে এবং মূলে করা যেকোনো পরিবর্তনও অনুলিপিকে প্রভাবিত করবে। গভীর অনুলিপি তৈরি করে, আমরা নিশ্চিত করি যে একটি অ্যারের পরিবর্তন অন্যটিকে প্রভাবিত করে না।

Java.util.Arrays লাইব্রেরি

আমাদের সমাধানে, আমরা `java.util.Arrays` লাইব্রেরি ব্যবহার করেছি, যা অ্যারের সাথে কাজ করার জন্য দরকারী ইউটিলিটি পদ্ধতি প্রদান করে। একটি 2D অ্যারে অনুলিপি করার নির্দিষ্ট সমস্যার জন্য, আমরা সাবারেগুলির গভীর অনুলিপি তৈরি করতে `Arrays.copyOf()` পদ্ধতি ব্যবহার করেছি।

  • `Arrays.copyOf()` পদ্ধতিটি মূল অ্যারের একটি গভীর অনুলিপি তৈরি করে। এটি দুটি প্যারামিটার লাগে: আসল অ্যারে এবং নতুন অ্যারের দৈর্ঘ্য।
  • এই লাইব্রেরির অন্যান্য দরকারী পদ্ধতিগুলির মধ্যে রয়েছে `Arrays.fill()`, `Arrays.sort()`, এবং `Arrays.binarySearch()`।

উপসংহারে, জাভাতে একটি 2D অ্যারে অনুলিপি করার জন্য একটি গভীর অনুলিপি প্রয়োজন যাতে অনুলিপিটিকে প্রভাবিত না করে মূল অ্যারের পরিবর্তনগুলি প্রতিরোধ করা যায়। আমরা `java.util.Arrays` লাইব্রেরি থেকে `Arrays.copyOf()` পদ্ধতি ব্যবহার করে একটি সমাধান প্রদর্শন করেছি এবং তৈরি করা ফাংশনটি কার্যকরী এবং বোঝা সহজ। 2D অ্যারে, Java.util.Arrays লাইব্রেরি এবং অ্যারে ম্যানিপুলেশন সম্পর্কে আমাদের গভীর বোঝার সাথে, আমরা এখন জাভাতে আরও বেশি আত্মবিশ্বাস এবং আরও শক্তিশালী সমাধানের সাথে অন্যান্য চ্যালেঞ্জ মোকাবেলা করতে পারি।

সম্পর্কিত পোস্ট:

মতামত দিন