Sobes.tech
Junior

რა არის ლამბდა გამოთქმები Java-ში?

sobes.tech AI

პასუხი AI-სგან

Java-ში lambda გამოთქმა არის ანონიმური (სახელის გარეშე) ფუნქცია, რომელიც ახორციელებს ფუნქციურ ინტერფეისს.

ძირითადი მახასიათებლები:

  • არ აქვს სახელი.
  • შეიძლება ჰქონდეს პარამეტრები.
  • სხეული შეიძლება შედგებოდეს ერთი გამოხატულების ან ოპერაციების ბლოკისგან.
  • დაბრუნების ტიპი არ არის მითითებული (ავტომატურად გამოითვლება).
  • აუცილებელია ფუნქციონალური პროგრამირების და ნაკადებთან (Streams API) მუშაობისთვის.

სინტაქსი:

// პარამეტრებით გარეშე
() -> { // სხეული }

// ერთი პარამეტრით (ტიპი შეიძლება გამოტოვებული)
param -> გამოხატულება

// რამდენიმე პარამეტრით (ტიპი შეიძლება გამოტოვებული, საჭიროა კოვზები)
(param1, param2) -> { // სხეული }

გამოყენების მაგალითი:

// ფუნქციონალური ინტერფეისი (შენახული)
import java.util.function.Consumer;

// ლამბდას გამოყენებით განხორციელება
Consumer<String> პრინტერი = s -> System.out.println(s);
პრინტერი.accept("გამარჯობა მსოფლიო!");

// გამოყენება მეთოდში, რომელიც იღებს ფუნქციონალურ ინტერფეისს
import java.util.Arrays;
import java.util.List;

List<Integer> რიცხვები = Arrays.asList(1, 2, 3, 4, 5);
რიცხვები.forEach(n -> System.out.println(n)); // forEach იღებს Consumer-ს

უპირატესობები:

  • უფრო მოკლე კოდი.
  • გაუმჯობესებული წაკითხვადობა (სადაც მარტივია).
  • ფუნქციონალური პროგრამირების გამოყენების შესაძლებლობა.
  • გამარტივება კოლექციებთან და მრავალთრედინგთან მუშაობაში.

შეზღუდვები:

  • შიგნიდან გაერთიანებული ან გრძელი ლამბდები შეიძლება იყოს გაგება რთული.
  • სტატუსი არ აქვთ (მოდიან არ შეიძლება ჰქონდეთ ინстанციის ველები).