এই টিউটোরিয়ালটি আলোচনা করবে কিভাবে জাভাতে 2D অ্যারে সাজাতে হয়।
জাভাতে 2D অ্যারে কীভাবে সাজানো যায়?
জাভাতে, আপনি ব্যবহার করে একটি 2D অ্যারে সাজাতে পারেন:
আমরা এখন উল্লিখিত প্রতিটি পদ্ধতি একে একে আলোচনা করব।
পদ্ধতি 1: জাভাতে 2D অ্যারের সারি অনুসারে সাজানো
সারি অনুসারে সাজানোর ক্ষেত্রে, আপনি ব্যবহার করতে পারেন ' Array.sort() অ্যারে উপাদান বাছাই করার পদ্ধতি। এটি একটি নির্দিষ্ট সারির প্রতিটি উপাদানকে পুনরাবৃত্তি করে এবং বর্তমান উপাদানটি পরবর্তীটির থেকে বড় হলে পূর্ণসংখ্যাগুলিকে অদলবদল করে।
বাস্তবায়নের দিকটি বোঝার জন্য আসুন একটি উদাহরণ দেখুন।
উদাহরণ
এই উদাহরণে, প্রথমে আমরা একটি স্ট্যাটিক পদ্ধতি তৈরি করব ' সারিওয়াইজ বাছাই() ' কল করে অ্যারেকে আরোহী ক্রমে সাজাতে ' Arrays.sort() ' Arrays ক্লাসের পদ্ধতি এবং তারপর ' ব্যবহার করে অ্যারের সাজানো উপাদানগুলি প্রিন্ট করুন জন্য লুপস:
জন্য ( int i = 0 ; i < arr দৈর্ঘ্য ; i ++ ) {
অ্যারে সাজান ( arr [ i ] ) ;
}
জন্য ( int i = 0 ; i < arr দৈর্ঘ্য ; i ++ ) {
জন্য ( int j = 0 ; j < arr [ i ] . দৈর্ঘ্য ; j ++ ) {
পদ্ধতি. আউট . ছাপা ( arr [ i ] [ j ] + '' ) ;
}
পদ্ধতি. আউট . println ( ) ;
}
ফিরে 0 ;
}
এখানে, আমাদের একটি 2D অ্যারে আছে যার নাম “ arr ” এর 3×3 ম্যাট্রিক্স ফর্ম (তিন সারি এবং তিনটি কলাম)। এখন, তৈরি করা অ্যারের সারিগুলি সাজানোর জন্য, আমরা পদ্ধতিটিকে কল করব ' সারিওয়াইজ বাছাই() ' main() পদ্ধতিতে একটি আর্গুমেন্ট হিসাবে অ্যারে পাস করে:
পাবলিক স্থির অকার্যকর প্রধান ( স্ট্রিং [ ] args ) {
int arr [ ] [ ] = নতুন int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , বিশ } ,
{ 28 , 25 , 8 } ,
{ এগারো , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}
আপনি দেখতে পাচ্ছেন, আমরা আমাদের অ্যারেকে আরোহী ক্রমে সাজিয়েছি:
জাভাতে কলাম অনুসারে সাজানোর চেষ্টা করতে চান? নিম্নলিখিত বিভাগে কটাক্ষপাত আছে.
পদ্ধতি 2: জাভাতে 2D অ্যারের কলাম অনুসারে সাজানো
কলাম অনুসারে জাভাতে একটি 2D অ্যারে সাজানোর জন্য, ' Arrays.sort() একটি 'সহ পদ্ধতি তুলনাকারী ইন্টারফেস ” একটি তুলনাকারী ইন্টারফেস একটি সংজ্ঞায়িত করে ' তুলনা করা() ” পদ্ধতি যা দুটি পরামিতি গ্রহণ করে এবং তারপর একে অপরের সাথে তুলনা করে। পাস করা পরামিতি সমান হলে, এটি শূন্য প্রদান করে। যদি ১ম প্যারামিটারটি ২য় প্যারামিটারের চেয়ে বড় হয়, তাহলে এটি একটি ধনাত্মক মান প্রদান করে। যদি না হয়, একটি ঋণাত্মক মান প্রদান করা হয়।
উদাহরণ
এই উদাহরণে, আমরা 'নামক একটি পদ্ধতি তৈরি করব columnWiseSorting() 'দুটি আর্গুমেন্ট সহ, একটি 2D অ্যারে' arr[][][] 'এবং 'নামক একটি কলাম নম্বর ওভারভিউ ” তারপর, কল করুন ' Arrays.sort() 'সহ পদ্ধতি' তুলনাকারী ইন্টারফেস ” একটি কলামের মান তুলনা করতে। অবশেষে, আমরা 'ব্যবহার করে সাজানো কলামের অ্যারের মানগুলি প্রিন্ট করব জন্য লুপস:
অ্যারে সাজান ( arr , নতুন তুলনাকারী < int [ ] > ( ) {
পাবলিক int তুলনা করা ( int [ ] প্রথম , int [ ] scnd ) {
যদি ( প্রথম [ ওভারভিউ - 1 ] > scnd [ ওভারভিউ - 1 ] ) {
ফিরে 1 ;
}
অন্য ফিরে - 1 ;
}
} ) ;
}
জন্য ( int i = 0 ; i < arr দৈর্ঘ্য ; i ++ ) {
জন্য ( int j = 0 ; j < arr [ i ] . দৈর্ঘ্য ; j ++ ) {
পদ্ধতি. আউট . ছাপা ( arr [ i ] [ j ] + '' ) ;
}
পদ্ধতি. আউট . println ( ) ;
}
আমরা ইতিমধ্যে তৈরি করা অ্যারে ব্যবহার করব 'নামক arr 'এবং এটি পাস করুন' columnWiseSorting() 'প্রথম প্যারামিটার হিসাবে এবং ' 1 'দ্বিতীয় পরামিতি হিসাবে:
columnWiseSorting ( arr , 1 ) ;
উপরে প্রদত্ত প্রোগ্রামের সঞ্চালন আমাদের 2D অ্যারের প্রথম কলাম বাছাই করবে:
আমরা জাভাতে 2D অ্যারে সাজানোর জন্য সমস্ত প্রয়োজনীয় তথ্য সংকলন করি।
উপসংহার
জাভাতে, একটি 2D অ্যারে প্রয়োজন অনুসারে সারি-ওয়াইজ বা কলাম অনুসারে সাজানো যেতে পারে। সারি অনুসারে সাজানোর জন্য, শুধুমাত্র Array.sort() পদ্ধতি ব্যবহার করা হয়; যাইহোক, কলাম অনুসারে সাজানোর ক্ষেত্রে, তুলনাকারী ইন্টারফেসের সাথে Array.sort() পদ্ধতিকে ডাকা হয়। সারি-ভিত্তিক সাজানোর জন্য, Array.sort() পদ্ধতিতে কোনো প্যারামিটার পাস করা হয় না, যেখানে, কলাম-ভিত্তিক বাছাই পদ্ধতিতে, যে কলামগুলিকে সাজাতে হবে তা একটি প্যারামিটার হিসাবে উল্লেখ করা হয়েছে। এই টিউটোরিয়ালটি উদাহরণ সহ জাভাতে 2D অ্যারে সাজানোর পদ্ধতি নিয়ে আলোচনা করেছে।