مزایای API جریان جاوا

جاوا API جریان معرفی شد جاوا 8 برای پردازش مجموعه داده ها به سبک برنامه نویسی کاربردی. این راهی برای انجام عملیاتی مانند فیلتر ، نقشه برداری ، کاهش و مرتب سازی بر روی مجموعه ها به طور کارآمد فراهم می کند.
مزایای API جریان جاوا
-
کد مختصر و قابل خواندن
- با جایگزینی سنتی ، کد دیگ بخار را کاهش می دهد
forوتwhileحلقه هایی با عملیات اعلامی مانندfilter()باmap()وتforEach()بشر - مثال:
List<String> names = List.of("Alice", "Bob", "Charlie"); names.stream() .filter(name -> name.startsWith("A")) .forEach(System.out::println); // Alice - با جایگزینی سنتی ، کد دیگ بخار را کاهش می دهد
-
عملکرد بهبود یافته با ارزیابی تنبل
- جریان استفاده می کند ارزیابی تنبل، به معنای عملیات فقط در صورت لزوم اجرا می شود و عملکرد را بهینه می کند.
- عملیات میانی (
filter()باmap()) هستند بلافاصله اعدام نشده است؛ آنها صبر می کنند تا عمل پایانه (collect()باforEach()باcount()) نامیده می شود.
-
پردازش موازی (عملکرد بهتر در CPU های چند هسته ای)
- پشتیبانی جریان اعدام موازی با
parallelStream()، فعال کردن عملکرد بهتر در پردازنده های چند هسته ای. - مثال:
List<Integer> numbers = List.of(1, 2, 3, 4, 5); int sum = numbers.parallelStream().mapToInt(n -> n * 2).sum(); System.out.println(sum); // 30 - پشتیبانی جریان اعدام موازی با
-
سبک برنامه نویسی عملکردی و اعلامی
- تشویق کردن برنامه نویسی عملکردی با اجازه استفاده از عبارات لامبدا وت منابعبشر
- نیازی به تکرار خارجی با استفاده از حلقه ها نیست.
-
عوارض جانبی و مسائل مربوط به جهش را کاهش می دهد
- جریان ها روی داده های تغییر ناپذیر کار می کنند و احتمال آن را کاهش می دهند عوارض جانبی غیر منتظره و ساخت کد از خود ایمن کردن در بسیاری موارد
-
راندمان بهتر حافظه
- جریان عناصر فرآیند در صورت تقاضا، اجتناب استفاده از حافظه غیر ضروری (در مقایسه با ایجاد مجموعه های جدید برای نتایج متوسط).
-
طیف گسترده ای از عملیات داخلی
- از عملیات مختلف مانند:
-
فیلتر کردن (
filter()) -
تحول (
map()) -
تجمع (
reduce()باcount()باsum()) -
مرتب سازی (
sorted()) -
جمع آوری نتایج (
collect())
-
فیلتر کردن (
- از عملیات مختلف مانند:
-
تحول آسان داده
- در
map()عملکرد اجازه می دهد تا یک نوع داده را به راحتی تبدیل کنید. - مثال:
List<String> names = List.of("Alice", "Bob", "Charlie"); List<Integer> nameLengths = names.stream() .map(String::length) .toList(); System.out.println(nameLengths); // [5, 3, 7] - در
-
پشتیبانی داخلی برای جمع آوری
- اجازه آسان می دهد شمارش ، جمع بندی و کاهش عملیات
- مثال:
int total = List.of(1, 2, 3, 4, 5).stream().reduce(0, Integer::sum); System.out.println(total); // 15
پایان
Java Stream API فراهم می کند مختصربا کارآمدوت موازی پذیر راه های کار با مجموعه ها ، ساخت کد در ضمن بهبود عملکرد در بسیاری از موارد. با این حال ، توسعه دهندگان باید استفاده کنند جریان های موازی با احتیاط برای جلوگیری از سربار غیر ضروری در مجموعه داده های کوچک.



