কম্পিউটার টিউটোরিয়াল

জাভা ৯-এ JShell-এ ইন্টারমিডিয়েট স্ট্রিম অপারেশন ব্যবহার করার পদ্ধতি

JShell হলো একটি টুল যা জাভা ৯-এ পরিচয় করানো হয়েছে, এবং এটি এক্সপ্রেশন, ভেরিয়েবল, মেথড, ক্লাস ইত্যাদি সিম্পল স্টেটমেন্ট ইনপুট হিসেবে গ্রহণ করে এবং অবিলম্বে ফলাফল প্রদান করে।

একটি স্ট্রিম হলো ভ্যালুর একটি সিকোয়েন্স। একটি ইন্টারমিডিয়েট স্ট্রিম অপারেশন হলো একটি অপারেশন যা একটি স্ট্রিম নেয়। উদাহরণস্বরূপ, এটি একটি ল্যাম্বডা এক্সপ্রেশনে অ্যাপ্লাই করা যেতে পারে এবং এর ফলাফল হিসেবে এলিমেন্টের একটি অন্য স্ট্রিম উৎপন্ন করে।

সবচেয়ে জনপ্রিয় ইন্টারমিডিয়েট স্ট্রিম অপারেশনগুলো নিচে দেওয়া হলো:

  • ১) sorted(): এই মেথড কনসিউমড স্ট্রিমের এলিমেন্টগুলো রেজাল্ট হিসেবে সংরক্ষণ করে কিন্তু এছাড়া সেগুলো ন্যাচারাল সর্টেড অর্ডারে রাখে।
  • ২) distinct(): এই মেথড ইনপুট স্ট্রিমের শুধুই ইউনিক এলিমেন্ট রিটেইন করে একটি স্ট্রিম রিটার্ন করে, এবং রিটেইন করা এলিমেন্টের রিলেটিভ অর্ডার মেইনটেইন করতে পারে।
  • ৩) filter(): এই মেথড কিছু লজিক বেসড স্ট্রিম এলিমেন্ট ফিল্টার করতে ব্যবহৃত হয়।
  • ৪) map(): এই মেথড ল্যাম্বডা এক্সপ্রেশন অ্যাপ্লাই করে ইনপুট স্ট্রিম এলিমেন্ট থেকে নতুন রেজাল্ট কম্পিউট করে। তারপর, এই রেজাল্টগুলোর একটি স্ট্রিম আউটপুট হিসেবে রিটার্ন করে।

নিচের কোড স্নিপেটে, আমরা 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
  1. জাভা Math.random ব্যবহার করার পদ্ধতি

  2. জাভা ৯-এ JShell-এ String কীভাবে ইমপ্লিমেন্ট করবেন?

  3. জাভা ৯-এ Stream API-তে collect() মেথড কীভাবে ব্যবহার করবেন?

  4. জাভা ৯-এ জেশেলে এক্সসেপশন হ্যান্ডলিং