স্ট্রিম ৷ 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