জাভাতে, এমন কিছু উদাহরণ থাকতে পারে যেখানে প্রোগ্রামারকে প্রয়োজনীয়তা অনুসারে এন্ট্রিগুলি সাজাতে হবে। উদাহরণস্বরূপ, একটি নির্দিষ্ট (আরোহী বা অবরোহ) পদ্ধতিতে সাজানো বা এলোমেলোভাবে উৎপন্ন মানগুলি পুনরুদ্ধার করা। এই ধরনের পরিস্থিতিতে, ' Stream.sorted() ” পদ্ধতিটি ডেভেলপারের শেষে কার্যকরভাবে ডেটা সাজাতে সাহায্য করে।
এই নিবন্ধটি জাভাতে 'Stream.sorted()' পদ্ধতি ব্যবহার এবং প্রয়োগ করার বিষয়ে বিস্তারিতভাবে বর্ণনা করবে।
জাভাতে 'Stream.sorted()' পদ্ধতি কি?
দ্য ' Stream.sorted() 'পদ্ধতি 'এর সাথে মিলে যায় প্রবাহ ' ইন্টারফেস. এই পদ্ধতিটি মূল স্ট্রীমের উপাদান/আইটেমগুলিকে প্রভাবিত না করে একটি সাজানো স্ট্রীম দেয়।
বাক্য গঠন
কেস 1: কোন প্যারামিটার নেই
stream.sorted ( )
কেস 2: প্যারামিটার সহ
stream.sorted ( comp )
এই সিনট্যাক্সে, ' comp ” তুলনাকারীকে বোঝায় যার ভিত্তিতে সাজানো হবে।
উদাহরণগুলিতে এগিয়ে যাওয়ার আগে, নিম্নলিখিত প্যাকেজটি অন্তর্ভুক্ত করতে ভুলবেন না। উপাদানগুলিতে কার্যকরী-শৈলী ক্রিয়াকলাপগুলিকে অনুমতি দেওয়ার জন্য এই প্যাকেজটিতে ক্লাস, ইন্টারফেস ইত্যাদি রয়েছে:
java.util.stream আমদানি করুন। * ;
উদাহরণ 1: জাভাতে পূর্ণসংখ্যাগুলিকে সাজানোর জন্য 'Stream.sorted()' পদ্ধতি প্রয়োগ করা
দ্য ' Stream.of() ” পদ্ধতিটি প্রদত্ত উপাদানগুলির জন্য একটি অনুক্রমিক স্ট্রিম তৈরি করতে ব্যবহৃত হয়। এই উদাহরণে, এই পদ্ধতিটি 'এর সাথে মিলিতভাবে প্রয়োগ করা যেতে পারে Stream.sorted() ” পূর্ণসংখ্যা স্ট্রীমকে আরোহী এবং অবরোহ পদ্ধতিতে সাজানোর পদ্ধতি:
পাবলিক ক্লাস সাজানো {পাবলিক স্ট্যাটিক অকার্যকর প্রধান ( স্ট্রিং [ ] args ) {
প্রবাহ < পূর্ণসংখ্যা > sortStream1 = Stream.of ( 2 , 4 , 3 , 5 , 1 ) ;
প্রবাহ < পূর্ণসংখ্যা > sortStream2 = Stream.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'প্রথম প্রবাহটি হল:' ) ;
sortStream1.sorted ( ) .প্রতিটির জন্য ( System.out::println ) ;
System.out.println ( ' \n দ্বিতীয় ধারাটি হল: ' ) ;
sortStream2.sorted ( ( ক, খ ) - > বি। এ ) .প্রতিটির জন্য ( System.out::println ) ;
} }
এই কোড স্নিপেটে:
- 'এর মাধ্যমে দুটি ভিন্ন পূর্ণসংখ্যা স্ট্রীম তৈরি করুন এর() 'পদ্ধতি।
- এর পরে, সংযুক্ত করুন ' সাজানো() স্ট্রীম বাছাই করার জন্য তৈরি করা প্রাক্তন স্ট্রীমের সাথে পদ্ধতি আরোহী আদেশ
- এখন, প্রয়োগ করুন ' সাজানো() ' পদ্ধতিটি আবার শেষের স্ট্রীমের সাথে স্ট্রীমটি 'এ ফেরত দিতে অবরোহী 'নির্দিষ্ট তুলনাকারীর সাথে ক্রমানুসারে, যেমন, ' বি। এ ”
- সবশেষে, কনসোলে উভয় ক্ষেত্রেই সাজানো পূর্ণসংখ্যা স্ট্রীম প্রদর্শন করুন।
আউটপুট
এই আউটপুটে, এটি লক্ষ্য করা যায় যে উভয় স্ট্রিম সেই অনুযায়ী সাজানো হয়েছে।
পরবর্তী উদাহরণে যাওয়ার আগে, সমস্ত ক্লাস এবং পদ্ধতিগুলি অ্যাক্সেস করতে নীচের প্রদত্ত উদাহরণটি অন্তর্ভুক্ত করুন:
java.util আমদানি করুন। * ;
উদাহরণ 2: ক্লাস অবজেক্টগুলি সাজানোর জন্য 'Stream.sorted()' পদ্ধতি প্রয়োগ করা
এই বিশেষ উদাহরণে, আলোচিত পদ্ধতিটি পাস করা মানগুলিকে সাজানোর জন্য ক্লাস অবজেক্টের উপর প্রয়োগ করা যেতে পারে:
ক্লাস ডেটা {int আইডি ;
স্ট্রিং নাম;
ডেটা ( int আইডি ,স্ট্রিং নাম ) {
this.id = আইডি ;
this.name = নাম;
}
পাবলিক স্ট্রিং থেকে স্ট্রিং ( ) {
প্রত্যাবর্তন 'id=' + this.id
+ ', নাম =' +এই.নাম;
} }
ক্লাস স্ট্রীম সাজানো {
পাবলিক স্ট্যাটিক অকার্যকর প্রধান ( স্ট্রিং [ ] args ) {
তালিকা < ডেটা > তালিকা = নতুন অ্যারেলিস্ট < ডেটা > ( ) ;
list.add ( নতুন ডেটা ( 2 , 'হ্যারি' ) ) ;
list.add ( নতুন ডেটা ( 1 , 'ডেভিড' ) ) ;
list.add ( নতুন ডেটা ( 3 , 'টম' ) ) ;
প্রবাহ < ডেটা > stream = list.stream ( ) ;
stream.sorted ( ( e1, e2 ) - > e1.id - e2.id ) .প্রতিটির জন্য ( System.out::println ) ;
} }
কোডের এই লাইনগুলিতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
- প্রথমত, 'নামক একটি ক্লাস ঘোষণা করুন ডেটা ”
- এর সংজ্ঞায়, বর্ণিত ভেরিয়েবলগুলি নির্দিষ্ট করুন।
- পরবর্তী ধাপে, একটি প্যারামিটারাইজড ক্লাস কনস্ট্রাক্টর অন্তর্ভুক্ত করুন যার প্যারামিটারগুলি নির্দিষ্ট ভেরিয়েবলের সাথে অভিন্ন।
- কনস্ট্রাক্টর সংজ্ঞায়, নির্দিষ্ট ভেরিয়েবলগুলি পড়ুন এবং 'এর মাধ্যমে পাস করা আর্গুমেন্ট মানগুলিকে বরাদ্দ করুন এই ”
- এখন, ওভাররাইড করুন ' স্ট্রিং() পাস করা মান ফেরত দেওয়ার পদ্ধতি।
- মধ্যে ' প্রধান() 'পদ্ধতি, ক্লাস অবজেক্টের একটি তালিকা তৈরি করুন এবং সংশ্লিষ্ট 'এর মাধ্যমে তালিকায় বর্ণিত পাস করা মানগুলি যোগ করুন যোগ করুন() 'পদ্ধতি।
- এর পরে, 'এর মাধ্যমে তালিকা থেকে স্ট্রীমটি আনুন প্রবাহ() 'পদ্ধতি।
- এছাড়াও, প্রয়োগ করুন ' সাজানো() বিবৃত তুলনাকারীর সাথে পদ্ধতি যা 'এর উপর ভিত্তি করে দুটি বস্তুর তুলনা করে আইডি 'একটি' আরোহী 'পদ্ধতি।
- অবশেষে, প্রয়োগ করুন ' প্রতিটির জন্য() কনসোলে সাজানো অবজেক্ট স্ট্রীম লগ করার পদ্ধতি।
আউটপুট
এই ফলাফলে, এটি বিশ্লেষণ করা যেতে পারে যে বস্তুর মানগুলি যথাযথভাবে সাজানো হয়েছে।
উপসংহার
দ্য ' Stream.sorted() 'পদ্ধতিটি' এর সাথে সম্পর্কিত প্রবাহ ” ইন্টারফেস যা মূল স্ট্রিমে অর্ডার করা আইটেম/উপাদানগুলিকে প্রভাবিত না করে একটি সাজানো স্ট্রিম দেয়। এই পদ্ধতিটি নির্দিষ্ট কম্প্যারেটরের উপর ভিত্তি করে ডিফল্ট উপায়ে উপাদানগুলিকে সাজায়। এই ব্লগটি জাভাতে “Stream.sorted()” পদ্ধতি ব্যবহার এবং বাস্তবায়ন নিয়ে আলোচনা করেছে।