logo

Anonyymi toiminto Javassa

Javalla, anonyymejä toimintoja , joka tunnetaan myös nimellä lambda-lauseke. Se esiteltiin Java 8:ssa tapana tarjota tiiviimpää ja luettavampaa koodia. Niiden avulla voimme määrittää funktion yhdellä koodirivillä ilman, että meidän tarvitsee erikseen määritellä luokkaa tai käyttöliittymää.

kuinka palauttaa taulukko java

Mikä on anonyymi toiminto?

Anonyymi funktio on funktio, jolla ei ole nimeä ja joka ei ole sidottu tunnisteeseen. Se määritellään tyypillisesti rivin sisällä ja voidaan välittää argumenttina toiselle funktiolle tai palauttaa arvona funktiosta. Javalla anonyymit funktiot toteutetaan lambda-lausekkeina, jotka ovat lyhennetty tapa määritellä anonyymi funktio.

Syntaksi

Anonyymin funktion syntaksi Javassa on seuraava:

 (parameters) -> { body } 

Parametrit ovat funktion syötteitä, ja runko on koodi, joka suoritetaan, kun toimintoa kutsutaan. Tässä on esimerkki anonyymistä funktiosta, joka ottaa kaksi kokonaislukua syötteinä ja palauttaa niiden summan:

 (int a, int b) -> { return a + b; } 

Yllä oleva anonyymi funktio voidaan välittää argumenttina toiselle funktiolle tai määrittää muuttujalle:

 Function add = (a, b) -> a + b; 

Tässä esimerkissä määritämme muuttujan nimeltä add, joka on funktio, joka ottaa kaksi kokonaislukua syötteinä ja palauttaa niiden summan.

Anonyymien toimintojen edut

Anonyymien toimintojen käytöllä Javassa on useita etuja, mukaan lukien:

Tiivis syntaksi: Anonyymit funktiot tarjoavat tiiviin tavan määritellä funktio ilman erillistä luokkaa tai käyttöliittymää.

Luettava koodi: Koska anonyymit funktiot määritellään tekstin sisään, koodia voi olla helpompi lukea ja ymmärtää.

Joustavuus: Anonyymejä funktioita voidaan välittää argumenteina muille funktioille tai palauttaa arvoina funktioista, mikä tarjoaa enemmän joustavuutta funktioiden käytössä.

Parannettu suorituskyky: Anonyymien funktioiden käyttö voi parantaa suorituskykyä vähentämällä muistin määrää ja prosessointitehoa, joka tarvitaan toimintojen määrittelyyn ja kutsumiseen.

Tässä on esimerkki Java-koodista, joka osoittaa anonyymien funktioiden (lambda-lausekkeiden) käytön kokonaislukuluettelon suodattamiseen:

AnonymousFunctionExample.java

 import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; public class AnonymousFunctionExample { public static void main(String[] args) { List numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5); // Filter the list to only include even numbers Predicate isEven = (n) -> n % 2 == 0; List evenNumbers = filter(numbers, isEven); // Print the even numbers System.out.println('Even numbers:'); for (Integer number : evenNumbers) { System.out.println(number); } } // Filter a list using a predicate public static List filter(List list, Predicate predicate) { List result = new ArrayList(); for (T element : list) { if (predicate.test(element)) { result.add(element); } } return result; } } 

Lähtö:

 Even numbers: 2 4 

Tässä koodissa määritämme luettelon kokonaisluvuista ja määritämme sitten anonyymin funktion (lambda-lausekkeen) avulla predikaatin, joka suodattaa luettelon sisältämään vain parilliset luvut. Käytämme sitten suodatusmenetelmää predikaatin soveltamiseen luetteloon ja palauttamme uuden parillisten lukujen luettelon. Lopuksi tulostetaan parilliset luvut käyttämällä for-silmukkaa.

Tässä on toinen esimerkki Java-koodista, joka osoittaa anonyymien funktioiden (lambda-lausekkeiden) käytön merkkijonoluettelon lajitteluun:

AnonymousFunctionExample.java

 import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class AnonymousFunctionExample { public static void main(String[] args) { List fruits = new ArrayList(); fruits.add('Apple'); fruits.add('Banana'); fruits.add('Grape'); fruits.add('Orange'); fruits.add('Pineapple'); // Sort the list of fruits alphabetically fruits.sort((f1, f2) -> f1.compareTo(f2)); // Print the sorted list of fruits System.out.println('Sorted list of fruits:'); for (String fruit : fruits) { System.out.println(fruit); } } } 

Lähtö:

 Sorted list of fruits: Apple Banana Grape Orange Pineapple 

Yllä olevassa koodissa olemme määritelleet luettelon hedelmistä ja määritämme sitten anonyymin funktion (lambda-lausekkeen) avulla vertailijan, joka lajittelee luettelon aakkosjärjestykseen. Käytämme sitten lajittelumenetelmää vertailijan lisäämiseen luetteloon ja lajitteluun. Lopuksi tulostetaan lajiteltu hedelmäluettelo for-silmukalla.

Johtopäätös

Anonyymit funktiot Javassa tarjoavat tiiviin ja luettavan tavan määrittää funktioita ilman erillistä luokkaa tai käyttöliittymää. Niitä voidaan käyttää parantamaan koodin suorituskykyä ja lisäämään joustavuutta toimintojen käytössä. Lambda-lausekkeiden käyttöönoton myötä Java 8:ssa anonyymeistä toiminnoista on tullut tärkeä työkalu kehittäjille tehokkaamman ja ylläpidettävämmän koodin kirjoittamisessa.