স্ট্রীম জাভা 8-এ চালু করা হয়েছে, এটি শুধুমাত্র ডেটার গ্রুপ প্রক্রিয়াকরণের জন্য ব্যবহার করা হয় না স্টোরিং উপাদানগুলির জন্য.. এটি প্রকৃত সংগ্রহকে পরিবর্তন করে না, তারা শুধুমাত্র পাইপলাইন পদ্ধতি অনুযায়ী ফলাফল প্রদান করে।
স্ট্রিম এপিআই একাধিক ক্রিয়াকলাপ সমর্থন করে এবং ক্রিয়াকলাপগুলিকে দুটি ভাগে ভাগ করা হয় -
- ইন্টারমিডিয়েট অপারেশন- এই অপারেশনগুলি অন্যান্য পদ্ধতিতে পাইপলাইন করতে এবং অন্যান্য স্ট্রীমে রূপান্তরিত করতে ব্যবহৃত হয়। তারা ফলাফল তৈরি করে না কারণ টার্মিনাল অপারেশনটি কার্যকর না হওয়া পর্যন্ত এই অপারেশনগুলিকে আহ্বান জানানো হয় না। নিচে উদাহরণ দেওয়া হল -
- বাছাই করা (তুলনাকারী
) - পিক(ভোক্তা
) - স্বতন্ত্র()
- টার্মিনাল অপারেশন - এই অপারেশনগুলি ফলাফল তৈরি করতে ব্যবহৃত হয়। এগুলি অন্য পদ্ধতিতে চেইন করার জন্য ব্যবহার করা যাবে না। নিচে উদাহরণ দেওয়া হল -
- প্রত্যেকটির জন্য
- গণনা
- টু অ্যারে
Sr. না। | কী | ইন্টারমিডিয়েট অপারেশনস | টার্মিনাল অপারেশনস |
---|---|---|---|
1 | বেসিক | এই ক্রিয়াকলাপগুলি অন্যান্য পদ্ধতিতে পাইপলাইন করতে এবং অন্যান্য স্ট্রিমগুলিতে রূপান্তর করতে ব্যবহৃত হয় | জাভাতে একটি টার্মিনাল অপারেশন হল একটি পদ্ধতি যা একটি স্ট্রীমে চূড়ান্ত ধাপ হিসেবে প্রয়োগ করা হয়। |
2 | রিটার্ন টাইপ | তারা শুধুমাত্র অন্য স্ট্রীম ফেরত দেয়। | তারা চূড়ান্ত ফলাফল ফিরিয়ে দেয়। |
3 | পদ্ধতি | বাছাই (তুলনাকারী উঁকি (ভোক্তা স্বতন্ত্র() | প্রতিটির জন্য গণনা টু অ্যারে |
4. | কেস ব্যবহার করুন৷ | স্ট্রিমকে অন্য স্ট্রীমে রূপান্তর করতে এই অপারেশনগুলি ব্যবহার করা উচিত | এগুলি ফলাফল তৈরি করতে ব্যবহার করা যেতে পারে। |
ইন্টারমিডিয়েট এবং টার্মিনাল অপারেশনের উদাহরণ
public class Main { public static void main(String args[]) throws InterruptedException, ExecutionException { List<String> laptopList = new ArrayList(); laptopList.add("DELL"); laptopList.add("ACER"); laptopList.add("HCL"); // Intermediate operation laptopList.sort((p1, p2) -> p1.compareTo(p2)); // Terminal Operation laptopList.forEach(a -> { System.out.println(a); }); } }