انجمن جاواکاپ
2.29K subscribers
825 photos
12 videos
17 files
152 links
کانال رسمی انجمن جاواکاپ

ادمین: @JavaCupAdmin

رسانه‌های جاواکاپ👇
سایت
javacup.ir

اینستاگرام
instagram.com/javacup.ir

لینکدین
shorturl.at/csty2
shorturl.at/atBN7

توییتر
twitter.com/javacupir
Download Telegram
انجمن جاواکاپ
#دستگرمی #جاوا۹
#پاسخ_دستگرمی

هر دوی #takeWhile و #dropWhile در واقع نوعی فیلتر برای #stream هستند با این تفاوت که باعث قطع‌شدن stream می‌شوند:

📌 متد takeWhile آیتم‌های stream را به ترتیب بررسی می‌کند و تا زمانی که شرط ورودی‌اش برقرار باشد، آن آیتم‌ها را بر می‌دارد (take می‌کند). به محضی که به آیتمی برسد که شرط ورودی را نقض کند، متوقف می‌شود. بنابراین آیتم‌های بررسی‌شده از آن عبور می‌کنند.

📌 متد dropWhile آیتم‌های stream را به ترتیب بررسی می‌کند و تا زمانی که شرط ورودی‌اش برقرار باشد، پیش رفته و آیتم‌های بررسی‌شده را دور می‌ریزد (drop می‌کند). به محضی که به آیتمی برسد که شرط را نقض کند، متوقف شده و آیتم‌های باقی‌مانده (بررسی‌نشده) از آن عبور می‌کنند.

🔸 و اما پاسخ دستگرمی
✔️ اولین stream نکته‌ی خاصی ندارد و طبق توضیحات بالا، خروجی‌اش برابر با 7 است.

✔️ دومین stream بر روی یک Set اجرا می‌شود و از آنجا که اعضای Set ترتیب ندارند، با هر بار اجرای برنامه ممکن است اعضای آن با ترتیب‌های متفاوتی به stream داده شده و به همین دلیل، نتیجه متفاوتی هم گرفته شود. بنابراین برای مثال:

✔️✔️ اگر اعضای Set با ترتیب 89657 به stream داده شوند، خروجی برابر با 657 خواهد بود و
✔️✔️ اگر اعضای Set با ترتیب 56789 به stream داده شوند، خروجی برابر با 56789 خواهد بود.

به این ترتیب، از میان گزینه‌های داده‌شده، گزینه‌های ۲ و ۶ از خروجی‌های ممکن این برنامه هستند و در نهایت گزینه ۷ پاسخ صحیح این دستگرمی است.

@JavaCupIR