JShell জাভা -এ চালু করা একটি টুল 9 , এবং এটি সাধারণ বিবৃতি যেমন এক্সপ্রেশন, ভেরিয়েবল, পদ্ধতি, ক্লাস, ইত্যাদি গ্রহণ করে. ইনপুট হিসাবে এবং তাৎক্ষণিক ফলাফল তৈরি করে।
A স্ট্রীম ৷ মানগুলির একটি ক্রম। একটি মধ্যবর্তী স্ট্রিম অপারেশন একটি অপারেশন যে একটি স্ট্রিম লাগে. উদাহরণস্বরূপ, এটি একটি ল্যাম্বডা এক্সপ্রেশনে প্রয়োগ করা যেতে পারে এবং এর ফলাফল হিসাবে উপাদানগুলির আরেকটি স্ট্রীম তৈরি করে৷
সবচেয়ে জনপ্রিয় মধ্যবর্তী স্ট্রিম অপারেশনগুলি নীচে উল্লেখ করা হয়েছে:
- 1) সাজানো(): এই পদ্ধতিটি ফলস্বরূপ গ্রাস করা স্ট্রিমের উপাদানগুলিকে সংরক্ষণ করে তবে সেগুলিকে প্রাকৃতিক সাজানো ক্রমে রাখে৷
- 2) স্বতন্ত্র(): এই পদ্ধতিটি ইনপুট স্ট্রিমের শুধুমাত্র অনন্য উপাদান ধরে রেখে একটি স্ট্রীম ফেরত দেয় এবং এটি ধরে রাখা উপাদানগুলির আপেক্ষিক ক্রম বজায় রাখতে পারে৷
- 3) ফিল্টার(): এই পদ্ধতিটি কিছু যুক্তির উপর ভিত্তি করে স্ট্রিম উপাদানগুলিকে ফিল্টার করতে ব্যবহার করা যেতে পারে।
- 4) মানচিত্র(): ইনপুট স্ট্রিম উপাদান থেকে নতুন ফলাফল গণনা করার জন্য এই পদ্ধতিটি ল্যাম্বডা এক্সপ্রেশন প্রয়োগ করে। তারপর, এটি আউটপুট হিসাবে এই ফলাফলগুলির একটি স্ট্রীম প্রদান করে।
নীচের কোড স্নিপেটে, আমরা JShell টুলে বিভিন্ন মধ্যবর্তী স্ট্রীম অপারেশন বাস্তবায়ন করতে পারি।
স্নিপেট
৷jshell> List<Integer> numbers = List.of(3, 10, 23, 200, 77, 9, 32); numbers ==> [3, 10, 23, 200, 77, 9, 32] jshell> numbers.stream().sorted().forEach(elem -> System.out.println(elem)); 3 9 10 23 32 77 200 jshell> List<Integer> numbers = List.of(3, 5, 54, 280, 5, 9, 40); numbers ==> [3, 5, 54, 280, 5, 9, 40] jshell> numbers.stream().distinct().forEach(elem -> System.out.println(elem)); 3 5 54 280 9 40 jshell> numbers.stream().distinct().sorted().forEach(elem -> System.out.println(elem)); 3 5 9 40 54 280 jshell> numbers.stream().distinct().map(num -> num * num).forEach(elem -> System.out.println(elem)); 9 25 2916 78400 81 1600