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

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

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

টার্মিনাল অপারেশন হলো একটি স্ট্রিম অপারেশন যা স্ট্রিম ইনপুট হিসেবে নেয় এবং কোনো আউটপুট স্ট্রিম রিটার্ন করে না। উদাহরণস্বরূপ, একটি টার্মিনাল অপারেশন একটি ল্যাম্বডা এক্সপ্রেশন-এ অ্যাপ্লাই করা যেতে পারে এবং একটি সিঙ্গল রেজাল্ট রিটার্ন করে (একটি সিঙ্গল প্রিমিটিভ-ভ্যালু/অবজেক্ট, বা একটি সিঙ্গল কলেকশন-অফ-অবজেক্টস)। reduce(), max(), এবং min() মেথডগুলো এর উদাহরণ।

নিচের কোড স্নিপেটে, আমরা JShell-এ ভিন্ন ভিন্ন টার্মিনাল অপারেশন ব্যবহার করতে পারি: min(), max(), এবং reduce() মেথড।

স্নিপেট

jshell> IntStream.range(1, 11).reduce(0, (n1, n2) -> n1 + n2); $1 ==> 55
jshell> List.of(23, 12, 34, 53).stream().max();
|   Error:
|   method max in interface java.util.stream.Stream cannot be applied to given types;
|   required: java.util.Comparator
|   found: no arguments
|   List.of(23, 12, 34, 53).stream().max();
|   ^----------------------------------^
jshell> List.of(23, 12, 34, 53).stream().max((n1, n2) -> Integer.compare(n1, n2)); $2 ==> Optional[53]
jshell> $2.isPresent(); $3 ==> true
jshell> List.of(23, 12, 34, 53).stream().max((n1, n2) -> Integer.compare(n1, n2)).get(); $4 ==> 53
jshell> List.of(23, 12, 34, 53).stream().filter(e -> e%2==1).forEach(e -> System.out.println(e));
23
53
jshell> List.of(23, 12, 34, 53).stream().filter(e -> e%2==1).collect(Collectors.toList()); $6 ==> [23, 53]
jshell> List.of(23, 12, 34, 53).stream().min((n1, n2) -> Integer.compare(n1, n2)).get(); $8 ==> 12
  1. জাভা Math.random ব্যবহার করার পদ্ধতি

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

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

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