Sobes.tech
Senior

რა არის შუამავლური და ტერმინალური მეთოდები სტრიმებში?

sobes.tech AI

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

Java Stream API-ში მეთოდები იყოფა შუა (intermediate) და საბოლოო (terminal) მეთოდებად.

  • შუა მეთოდები აბრუნებს ახალ სტრიმს და საშუალებას აძლევს ოპერაციების ჯაჭვის შექმნას. ისინი ფრთხილები არიან, ანუ არ ხორციელდება დაუყოვნებლივ, არამედ მხოლოდ როდესაც იძახება საბოლოო მეთოდი. მაგალითები: filter(), map(), sorted(), distinct().

  • საბოლოო მეთოდები იწყებს სტრიმის დამუშავებას და აბრუნებს შედეგს (არა სტრიმს). მათი გამოძახების შემდეგ ჯაჭვი დასრულდება. მაგალითები: collect(), forEach(), reduce(), count().

მაგალითი:

List<String> names = List.of("Anna", "Bob", "Charlie", "David");

long count = names.stream()  // შუა მეთოდი stream()
    .filter(name -> name.length() > 3)  // შუა მეთოდი filter()
    .count();  // საბოლოო მეთოდი count()

System.out.println(count);  // ბეჭდავს 3-ზე მეტი სიმბერის სახელების რაოდენობას