برنامه نویسی
5.5 سفارش توسط امتیاز و autoboxing

1 امتیاز سفارش به جای نام
- برای سفارش کاربران برای میزان امتیاز ، به سادگی Lambda گذشته را تغییر دهید:
usuarios.sort(Comparator.comparing(u -> u.getPontos()));
- این کد را می توان برای درک بهتر شکسته کرد:
Function
Comparator
usuarios.sort(comparator);
2 مشکل autoboxing
-
روش GetPontos () یک INT را برمی گرداند ، اما عملکرد با عدد صحیح کار می کند.
-
این باعث می شود که Autoboxing ، تبدیل به Int به طور مکرر به طور مکرر ، که می تواند بر عملکرد تأثیر بگذارد.
-
این مشکل اغلب در API های جدید جاوا 8 رخ می دهد.
3 راه حل: از عملکرد و مقایسه استفاده کنید
- برای جلوگیری از اتوبوکس ، از عملکرد استفاده می شود ، که مستقیماً با INT کار می کند:
ToIntFunction
Comparator
usuarios.sort(comparator);
- نسخه لاغر کد:
usuarios.sort(Comparator.comparingInt(u -> u.getPontos()));
- این رویکرد با از بین بردن تبدیل های غیر ضروری ، کارایی سفارش را بهبود می بخشد.
بایگانی: ordinacaopontos.java