برنامه نویسی

7.7 Intstream و خانواده جریان

مشکل با جریان:

  • استفاده از نقشه (کاربر :: getpontos) باعث ایجاد خودکار می شود و عملکرد را ناکارآمد می کند.
Stream stream = usuarios.stream()
    .map(Usuario::getPontos);

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

راه حل با IntStream:

  • MaToint () از اتوبوکس زدن جلوگیری می کند و عملکرد را بهبود می بخشد.
IntStream stream = usuarios.stream()
    .mapToInt(Usuario::getPontos);

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تفاوت فنی:

  • نقشه () عملکرد ایالات متحده.
  • MaToint () USA TOINTFUNCTION ، که مستقیماً int را برمی گرداند (ApplyAsint).

عملیات مفید در Intstream:

  • متوسط ​​() ، حداکثر () ، مرتب سازی شده ().
  • نمونه ای از محاسبه میانگین نقاط:
double pontuacaoMedia = usuarios.stream()
    .mapToInt(Usuario::getPontos)
    .average()
    .getAsDouble();

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مقایسه با رویکرد سنتی:

double soma = 0;
for (Usuario u : usuarios) {
    soma += u.getPontos();
}
double pontuacaoMedia = soma / usuarios.size();

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نسخه IntStream از متغیرهای موقت جلوگیری می کند و کد را مختصر تر می کند.

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

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

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

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