برنامه نویسی

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

جاوا API جریان معرفی شد جاوا 8 برای پردازش مجموعه داده ها به سبک برنامه نویسی کاربردی. این راهی برای انجام عملیاتی مانند فیلتر ، نقشه برداری ، کاهش و مرتب سازی بر روی مجموعه ها به طور کارآمد فراهم می کند.

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

  1. کد مختصر و قابل خواندن

    • با جایگزینی سنتی ، کد دیگ بخار را کاهش می دهد 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
    
  2. عملکرد بهبود یافته با ارزیابی تنبل

    • جریان استفاده می کند ارزیابی تنبل، به معنای عملیات فقط در صورت لزوم اجرا می شود و عملکرد را بهینه می کند.
    • عملیات میانی (filter()با map()) هستند بلافاصله اعدام نشده است؛ آنها صبر می کنند تا عمل پایانه (collect()با forEach()با count()) نامیده می شود.
  3. پردازش موازی (عملکرد بهتر در 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
    
  4. سبک برنامه نویسی عملکردی و اعلامی

    • تشویق کردن برنامه نویسی عملکردی با اجازه استفاده از عبارات لامبدا وت منابعبشر
    • نیازی به تکرار خارجی با استفاده از حلقه ها نیست.
  5. عوارض جانبی و مسائل مربوط به جهش را کاهش می دهد

    • جریان ها روی داده های تغییر ناپذیر کار می کنند و احتمال آن را کاهش می دهند عوارض جانبی غیر منتظره و ساخت کد از خود ایمن کردن در بسیاری موارد
  6. راندمان بهتر حافظه

    • جریان عناصر فرآیند در صورت تقاضا، اجتناب استفاده از حافظه غیر ضروری (در مقایسه با ایجاد مجموعه های جدید برای نتایج متوسط).
  7. طیف گسترده ای از عملیات داخلی

    • از عملیات مختلف مانند:
      • فیلتر کردن (filter())
      • تحول (map())
      • تجمع (reduce()با count()با sum())
      • مرتب سازی (sorted())
      • جمع آوری نتایج (collect())
  8. تحول آسان داده

    • در 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]
    
  9. پشتیبانی داخلی برای جمع آوری

    • اجازه آسان می دهد شمارش ، جمع بندی و کاهش عملیات
    • مثال:
     int total = List.of(1, 2, 3, 4, 5).stream().reduce(0, Integer::sum);
     System.out.println(total); // 15
    

پایان

Java Stream API فراهم می کند مختصربا کارآمدوت موازی پذیر راه های کار با مجموعه ها ، ساخت کد در ضمن بهبود عملکرد در بسیاری از موارد. با این حال ، توسعه دهندگان باید استفاده کنند جریان های موازی با احتیاط برای جلوگیری از سربار غیر ضروری در مجموعه داده های کوچک.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا