logo

Bultiņu operators Java

Šajā rakstā ir izskaidrots Java bultiņu operators (->), kā arī daži koda paraugi, lai palīdzētu izprast jēdzienu.

Bultiņu operators, ko izmanto, lai izveidotu lambda izteiksmes, tika ieviests kopā ar lambda izteiksmes funkcionalitātes pievienošanu Java 8. Tas atdala izteiksmes pamattekstu no argumentiem.

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

Lai Java kods būtu saprotamāks un kodolīgāks, anonīmajām klasēm var izmantot lambda izteiksmi, ko ieviesa Java 8.

Tālāk ir parādīts ilustrācija, kā izveidot anonīmu klasi, izmantojot Java pirms Java 8.

priekšpasūtīt koka šķērsošanu
 Runnable r1 = new Runnable() { @Override public void run() { System.out.print(' method Run '); } }; 

Un šeit ir norādīts, kā mēs varam veikt iepriekš minēto uzdevumu Java 8, izmantojot lambda izteiksmi.

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

Lai labāk saprastu, kā lietot lambda un bultiņu operatorus, sāksim ar dažiem piemēriem.

javascript apmācība

Kā izmantot bultiņu operatoru Java?

Šajā ilustrācijā Drawable interfeisa metode draw () tika ieviesta, izmantojot lambda izteiksmi un bultiņas operatoru. Skatiet tālāk redzamo ilustrāciju.

M.java

 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(); } } 

Izvade:

Bultiņu operators Java

Mēs varam izmantot lambda izteiksmi Java programmēšanā dažādos veidos, jo tas ir lielisks paņēmiens īsa koda rakstīšanai, izmantojot funkcionālu pieeju. Šeit ir daži gadījumi, kad mēs to varam izmantot.

Masīvu operators Java kolekcijā

Šajā ilustrācijā mēs izmantojam lambda izteiksmi, lai filtrētu datus no ArrayList. Lai sasniegtu vēlamo rezultātu, mēs izmantojām filtru() metodi un straumes API. Jūs varat redzēt, cik daudz vienkāršāk ir rakstīt lambda kodu nekā ne-lambda kodu. Skatiet tālāk redzamo ilustrāciju.

c# datetime

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>

Izvade:

ceturksnis biznesā
 Tutorial and example: 100500.0 Website: 25000.0 

Masīva operators Java pavedienā

Lai ieviestu abu izpildāmo saskarņu metodi run (), mēs izmantojām lambda izteiksmi šajā gadījumā. Lambda izteiksmi var izmantot viegli, jo Runnable ir vienas metodes saskarne. skatiet tālāk redzamo ilustrāciju.

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(); } } 

Izvade:

 Thread is running...