logo

Strelica operator u Javi

Operator strelice (->) u Javi objašnjen je u ovom članku zajedno s nekim primjerom koda koji će vam pomoći da shvatite koncept.

Operator strelice, koji se koristi za stvaranje lambda izraza, uveden je zajedno s dodatkom funkcionalnosti lambda izraza u Javi 8. On dijeli tijelo izraza od argumenata.

 (parameters) -> { statements; } // Lambda expression having arrow 

Kako bi Java kod bio razumljiviji i koncizniji, lambda izraz, koji je uveden u Javi 8, može se koristiti umjesto anonimnih klasa.

Dolje je prikazana ilustracija kako izgraditi anonimnu klasu koristeći Javu prije Jave 8.

sučelje vs apstraktna klasa
 Runnable r1 = new Runnable() { @Override public void run() { System.out.print(' method Run '); } }; 

A evo kako možemo izvršiti gore spomenuti zadatak u Javi 8 koristeći lambda izraz.

 Runnable r1 = ()-> System.out.print(' method Run '); 

Da bismo bolje shvatili kako koristiti lambda operatore i strelice, počnimo s nekim primjerima.

Kako koristiti Arrow Operator u Javi?

U ovoj je ilustraciji metoda draw() i Drawable sučelja implementirana korištenjem lambda izraza i operatora strelice. Pogledajte ilustraciju u nastavku.

M.java

shilpa shetty doba
 interface Drawable{ public void draw(); } public class M { public static void main(String[] args) { int w = 20; // arrow operator Drawable d=()->{ System.out.println(' Drawing width is '+w); }; d.draw(); } } 

Izlaz:

Strelica u Javi

Možemo koristiti lambda izraz u Java programiranju na različite načine jer je to izvrsna tehnika pisanja sažetog koda koristeći funkcionalni pristup. Evo nekoliko primjera u kojima ga možemo koristiti.

Operator polja u kolekciji Java

U ovoj ilustraciji koristimo lambda izraz za filtriranje podataka iz ArrayList-a. Kako bismo postigli željeni rezultat, koristili smo metodu filter() i stream API. Možete vidjeti koliko je jednostavniji lambda kod za pisanje od ne-lambda koda. Pogledajte ilustraciju u nastavku.

što je regex java

M1.java

 package javaexample; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; class P{ int id; String n; float pri; public P(int id, String n, float pri) { this.id = id; this.n = n; this.pri = pri; } } public class M1{ public static void main(String[] args) { List<p> l = new ArrayList</p><p>(); l.add(new P(1,&apos; JavaTpoint &apos;,17000)); l.add(new P(3,&apos; Tutorial and example &apos;,100500)); l.add(new P(2,&apos; Website &apos;,25000)); // using the arrow to filter data Stream</p><p> filtered_data = l.stream().filter(q -&gt; q.pri &gt; 17000); filtered_data.forEach( p -&gt; System.out.println(p.n+&apos;: &apos;+p.pri) ); } } </p>

Izlaz:

json u primjeru json
 Tutorial and example: 100500.0 Website: 25000.0 

Operator polja u Java niti

Kako bismo implementirali metodu run() oba sučelja koja se mogu izvoditi, u ovom smo slučaju koristili lambda izraz. Lambda izraz se može koristiti s lakoćom jer Runnable ima jedno sučelje metode. pogledajte ilustraciju u nastavku.

M3.java

 package javaexample; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; public class M3{ public static void main(String[] args) { // using arrow operator Runnable r1=()-&gt;{ System.out.println(&apos; Thread is running... &apos;); }; Thread t1 = new Thread(r1); t1.start(); } } 

Izlaz:

 Thread is running...