Téma
- #Optimalizálás
- #Lazy Evaluation (kényelmi kiértékelés)
- #Stream
- #Java
- #Prímszám tesztelés
Létrehozva: 2024-07-23
Létrehozva: 2024-07-23 19:39
Általában egy n szám prímszám-e, azt úgy ellenőrizzük, hogy 2-től n - 1-ig osztjuk n-nel, és megnézzük, hogy osztható-e maradék nélkül.
Ebben a módszerben néhány optimalizálást alkalmazunk a hatékonyság javítása érdekében, és a Stream-et használjuk a lusta kiértékelés (lazy evaluation) alkalmazásához.
Az alábbiakban egy naiv módszert mutatunk be az n szám prímszám-e vizsgálatára.
A Java Stream-je, ellentétben a List-tel, nem azonnal hajtja végre a műveleteket, amikor azok meg vannak határozva.
Az egyes elemek kiszámításának módja meghatározva van, de a rendszer várakozik, amíg egy adott elemre szükség van, és csak akkor hajtja végre az adott elem kiszámításához szükséges műveleteket.
Ezt kihasználva a következőképpen hozhatunk létre egy Stream-et a prímszámok generálására.
Teljes kód
Futtatási eredmény
Hozzászólások0