কম্পিউটার

কিভাবে আমরা জাভা 9 এ স্ট্রিম API এর পদ্ধতিগুলি প্রয়োগ করতে পারি?


স্ট্রিম API ৷ প্রচুর বিল্ট-ইন কার্যকারিতা প্রদান করে একটি স্ট্রিম পাইপলাইন ব্যবহার করে একটি সংগ্রহে অপারেশন সম্পাদনে সাহায্য করার জন্য। API হল ঘোষনামূলক প্রোগ্রামিং যা কোডটিকে সুনির্দিষ্ট এবং কম ত্রুটি-প্রবণ করে তোলে। Java 9-এ , কিছু দরকারী পদ্ধতি স্ট্রিম API এ যোগ করা হয়েছে .

  • Stream.iterate(): এই পদ্ধতিটি ঐতিহ্যগত ফর-লুপস-এর জন্য স্ট্রিম সংস্করণ প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে .
  • Stream.takeWhile() :এই পদ্ধতিটি কিছুক্ষণ লুপে ব্যবহার করা যেতে পারে যা মান নেয় যখন শর্ত পূরণ হয়।
  • Stream.dropWhile(): এই পদ্ধতিটি কিছুক্ষণ লুপে ব্যবহার করা যেতে পারে যা মান হ্রাস করে যখন শর্ত পূরণ হয়।

নীচের উদাহরণে, আমরা স্ট্যাটিক পদ্ধতিগুলি বাস্তবায়ন করতে পারি:পুনরাবৃত্তি(), takeWhile(), এবং dropWhile() স্ট্রিম API এর পদ্ধতি .

উদাহরণ

import java.util.Arrays;
import java.util.Iterator;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class StreamAPITest {
   public static void main(String args[]) {
      String[] sortedNames = {"Adithya", "Bharath", "Charan", "Dinesh", "Raja", "Ravi", "Zaheer"};

      System.out.println("[Traditional for loop] Indexes of names starting with R = ");
      for(int i = 0; i < sortedNames.length; i++) {
         if(sortedNames[i].startsWith("R")) {
            System.out.println(i);
         }
      }
      System.out.println("[Stream.iterate] Indexes of names starting with R = ");
      Stream.iterate(0, i -> i < sortedNames.length, i -> ++i).filter(i -> sortedNames[i].startsWith("R")).forEach(System.out::println);

      String namesAtoC = Arrays.stream(sortedNames).takeWhile(n -> n.charAt(0) <= 'C')
.collect(Collectors.joining(","));

      String namesDtoZ = Arrays.stream(sortedNames).dropWhile(n -> n.charAt(0) <= 'C')
.collect(Collectors.joining(","));

      System.out.println("Names A to C = " + namesAtoC);
      System.out.println("Names D to Z = " + namesDtoZ);
   }
}

আউটপুট

[Traditional for loop] Indexes of names starting with R =
4
5
[Stream.iterate] Indexes of names starting with R =
4
5
Names A to C = Adithya,Bharath,Charan
Names D to Z = Dinesh,Raja,Ravi,Zaheer

  1. কিভাবে আমরা জাভাতে একটি স্ক্রোলযোগ্য JPanel বাস্তবায়ন করতে পারি?

  2. কিভাবে আমরা জাভাতে একটি JPanel এর paintComponent() পদ্ধতি প্রয়োগ করতে পারি?

  3. কিভাবে আমরা জাভাতে একটি JToggleButton বাস্তবায়ন করতে পারি?

  4. কিভাবে আমরা জাভাতে JWindow ব্যবহার করে একটি স্প্ল্যাশ স্ক্রিন বাস্তবায়ন করতে পারি?