কম্পিউটার

জাভা 9-এ স্ট্রিম API-তে নতুন বৈশিষ্ট্যগুলি কী যোগ করা হয়েছে?


জাভা 9-এ, ওরাকল কর্পোরেশন স্ট্রিম-এ চারটি দরকারী নতুন পদ্ধতি যুক্ত করেছে API . এই পদ্ধতিগুলি হল পুনরাবৃত্তি() , ofNullable() , takeWhile() এবং ড্রপ ওয়াইল( )।

পুনরাবৃত্তি()

পুনরাবৃত্তি() ঐতিহ্যগত ফর-লুপস-এর স্ট্রিম সংস্করণ প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে . এই পদ্ধতিটি আরও একটি প্যারামিটার যোগ করে উন্নত হয়েছে, Predicate ইন্টারফেস যা আমাদেরকে Predicate দিয়ে সংজ্ঞায়িত শর্তের উপর ভিত্তি করে এই অন্তহীন সংখ্যাগুলি বন্ধ করতে দেয় ইন্টারফেস।

উদাহরণ

import java.util.stream.Stream;
public class StreamIterateMethodTest {
   public static void main(String[] args) {
      Stream.iterate(1, i -> i < 5, i -> i + 1).forEach(System.out::println); // iterate()
   }
}

আউটপুট

1
2
3
4


ofNullable()

Nullable() পদ্ধতি স্ট্রিম ফেরত দেয় অবজেক্ট একটি উপাদানের যদি এটি শূন্য না হয় . অন্যথায়, এটি একটি খালি ফেরত দেয় স্ট্রীম।

উদাহরণ

import java.util.stream.Stream;
public class StreamOfNullableMethodTest {
   public static void main(String[] args) {
      String str = "TutorialsPoint";
      Stream.ofNullable(str).forEach(System.out::println);    // ofNullable() method
   }
}

আউটপুট

TutorialsPoint


takeWhile()

প্যারামিটারটি একটি takeWhile() এ পাস হয়েছে পদ্ধতি হল একটি প্রেডিকেট ইন্টারফেস. এই পদ্ধতিটি lবাম থেকে ডানে স্ট্রিম অবজেক্টের একটি উপাদান নেয় যতক্ষণ না পূর্বাভাস এর অবস্থা বস্তুটি আর পূর্ণ হয় না৷

উদাহরণ

import java.util.stream.Stream;
public class StreamTakeWhileMethodTest {
   public static void main(String[] args) {
      Stream.of(1, 2, 3, 4, 5)
         .takeWhile(i -> i < 5)         // takeWhile() method
         .forEach(System.out::println);
   }
}

আউটপুট

1
2
3
4


dropWhile()

প্যারামিটারটি একটি dropWhile()-এ চলে গেছে পদ্ধতিটিও একটি প্রেডিকেট ইন্টারফেস. এটি takeWhile() এর বিপরীত পদ্ধতি এই পদ্ধতিটি একটি স্ট্রিম অবজেক্টের প্রতিটি উপাদানকে বাম থেকে ডানে পাস করে এবং শর্ত পূরণ করে এমন সমস্ত উপাদান উপেক্ষা করে। একবার শর্তটি আর পূরণ না হলে, এটি ফিরে আসতে বাকি সমস্ত উপাদান নেয়৷

উদাহরণ

import java.util.stream.Stream;
public class StreamDropWhileMethodTest {
   public static void main(String[] args) {
      Stream.of(3, 2, 1, 4, 6, 7, 8, 9, 10)
            .dropWhile(i -> i < 5)     // dropWhile() method
            .forEach(System.out::println);
   }
}

আউটপুট

6
7
8
9
10

  1. জাভা 9 এ প্রবর্তিত প্রধান বৈশিষ্ট্য এবং বর্ধনগুলি কি কি?

  2. জাভাতে স্ট্যাটিক পদ্ধতি বা স্ট্যাটিক ব্লকের কোডের উপর আরোপিত বিধিনিষেধ কি?

  3. জাভাতে পেইন্ট() পদ্ধতি এবং পুনরায় পেইন্ট() পদ্ধতির মধ্যে পার্থক্য কী?

  4. জাভাতে printStackTrace() পদ্ধতি এবং getMessage() পদ্ধতির মধ্যে পার্থক্য কি?